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主从删除 redis主从命令_数据库



 

redis主从删除 redis主从命令_主从复制_02


Redis 主从同步时序图


redis主从删除 redis主从命令_数据库_03


主从同步存在的问题


1.当slave缓冲溢出时,master主动释放slave

2.slave增量同步时触发了subslave的全量同步

3.slave增量同步成功之前不允许subslave增量同步

4.修改repl-backlog-size配置项会释放原有缓冲区