Redis同步机制简介

同步机制又分为:
全同步是指slave启动时进行的初始化同步。
部分同步是指Redis运行过程中的修改同步。
一、全同步

全同步过程如下:

1)在slave启动时,会向master发送一条SYNC指令。
2)master收到这条指令后,会启动一个备份进程将所有数据写到rdb文件中去。
3)更新master的状态(备份是否成功、备份时间等),然后将rdb文件内容发送给等待中的slave。

注意,master并不会立即将rdb内容发送给slave。而是为每个等待中的slave注册写事件,当slave对应的socket可以发送数据时,再讲rdb内容发送给slave。

二、部分同步

当Redis的master/slave服务启动后,首先进行全同步。之后,所有的写操作都在master上,而所有的读操作都在slave上。因此写操作需要及时同步到所有的slave上,这种同步就是部分同步。

部分同步过程如下:

1)master收到一个操作,然后判断是否需要同步到salve。
2)如果需要同步,则将操作记录到aof文件中。
3)遍历所有的salve,将操作的指令和参数写入到savle的回复缓存中。
4)一旦slave对应的socket发送缓存中有空间写入数据,即将数据通过socket发出去。

原文链接:https://blog.csdn.net/look4liming/article/details/83013275