修改redis.conf配置文件redis
vi redis.conf安全
在编辑模式下 输入 /slaveof 来搜索服务器
将slaveof启用 即 将#删除架构
依次配置全部 slave 并将进程 kill 掉 重启性能
查看主从信息spa
redis 集群主从同步的简单原理blog
Redis的复制功能是基于内存快照的持久化策略基础上的,也就是说不管你的持久化策略选择的是什么,只要用到了Redis的复制功能,就必定会有内存快照发生。队列
当Slave启动并链接到Master以后,它将主动发送一个SYNC命令( 首先Master会启动一个后台进程,将数据快照保存到文件中[rdb文件] Master 会给Slave 发送一个进程
Ping命令来判断Slave的存活状态 当存活时 Master会将数据文件发送给Slave 并将全部写命令发送到Slave )。内存
Slave首先会将数据文件保存到本地 以后再将 数据 加载到内存中。
当第一次连接 或者是 故障后 从新链接 都会先判断Slave的存活状态 在作所有数据的同步 , 以后只会同步Master的写操做(将命令发送给Slave)
问题:
当 Master 同步数据时 若数据量较大 而Master自己只会启用一个后台进程 来对多个Slave进行同步 , 这样Master就会压力过大 , 并且Slave 恢复的时间也会很慢!
redis 主从复制的优势:
(1)在一个Redis集群中,master负责写请求,slave负责读请求,这么作一方面经过将读请求分散到其余机器从而大大减小了master服务器的压力,另外一方面slave专一于提供
读服务从而提升了响应和读取速度。
(2)在一个Redis集群中,若是master宕机,slave能够介入并取代master的位置,所以对于整个Redis服务来讲不至于提供不了服务,这样使得整个Redis服务足够安全。
(3)水平增长Slave机器能够提升性能
Slave 默认是只读的更改:
Master 能够 读写(Write and Read) 而 Slave只能够读(read only默认状况)也能够更改 {可是开启后Slave数据不会向上同步}
redis 主从同步两种架构方式:
1》:主从架构
2》:主从从架构
备注:
由于Slave断连,重连后仍然会所有同步数据,因此redis2.8版本后,增长了增量复制来解决宕机后从新连接仍然会所有同步!
Master会维护一个环形队列:
队列内存储:1》:slave链接master的id值 2》:slave上一次同步的最后一个命令
这样当断开重连后就不会所有同步,而只会在最后一个命令同步数据!
写这篇博客是为了加深理解并将本身了解到的知识记录下来 , 同时在写本博客的过程当中,借鉴了许多优秀的博客,来完善 , 但愿广大博友批评指正。共同进步!
2016/12/4