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 6379Slave切换成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配置项会释放原有缓冲区