0%

本文可用于测试环境。

redis主从的工作原理

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之后,也可能是部分同步操作。

阅读全文 »