Redis 复制1

2022-07-09 23:46:01 浏览数 (1)

复制原理

  • 1.如果设置了一个Slave,无论是第一次连接还是重连到Master,它都会发出一个SYNC命令;
  • 2.当Master收到SYNC命令之后,会做两件事:
  • a) Master执行BGSAVE,即在后台保存数据到磁盘(rdb快照文件);
  • b) Master同时将新收到的写入和修改数据集的命令存入缓冲区(非查询类);
  • 3.当Master在后台把数据保存到快照文件完成之后,Master会把这个快照文件传送给Slave,而Slave则把内存清空后,加载该文件到内存中;
  • 4.而Master也会把此前收集到缓冲区中的命令,通过Reids命令协议形式转发给Slave,Slave执行这些命令,实现和Master的同步;
  • 5.Master/Slave此后会不断通过异步方式进行命令的同步,达到最终数据的同步一致;
  • 6.需要注意的是Master和Slave之间一旦发生重连都会引发全量同步操作。但在2.8之后版本,也可能是部分同步操作。

0 人点赞