Redis主从同步命令和配置项
启动主从复制:master无需任何操作,slave中使用以下任意一种开启复制功能
(1).通过配置文件启动主从复制:
在redis.conf中加入“slaveof <masterip> <masterport>”
如:在redis.conf中加入: slaveof 192.168.3.134 6379
(2).通过客户端启动参数启动主从复制:
redis-server --port <slaveport> --slaveof <masterip> <masterport>
如:redis-server --port 6380 --slaveof 192.168.3.134 6379
(3).运行时通过命令启动主从复制:
redis> slaveof <masterip> <masterport>
如:redis> slaveof 192.168.3.134 6379
Slave切换成master:运行时通过命令关闭主从复制
redis> slaveof no one
Redis主从同步命令和配置项
主从复制配置项:
• slaveof < masterip > < masterport >
• masterauth <master-password>
• slave-serve-stale-data yes
• slave-read-only no
• repl -diskless-sync no
• repl -diskless-sync-delay 5
• repl -ping-slave-period 10
• repl -timeout 60
• repl -backlog-size 1mb
• repl -backlog- ttl 3600
• slave-priority 100
• min-slaves-to-write 3
• min-slaves-max-lag 10
Redis主从同步结构图
Redis 主从同步时序图
主从同步存在的问题
1.当slave缓冲溢出时,master主动释放slave
2.slave增量同步时触发了subslave的全量同步
3.slave增量同步成功之前不允许subslave增量同步
4.修改repl-backlog-size配置项会释放原有缓冲区