Redis同步机制简介

Redis通过主从同步机制来确保master和salve之间的数据同步。

同步机制又分为:
1)全同步
2)部分同步

全同步是指salve启动时进行的初始化同步。

部分同步是指Redis运行过程中的修改同步。

一、全同步

全同步过程如下:

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

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

二、部分同步

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

部分同步过程如下:

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

猜你喜欢

转载自blog.csdn.net/look4liming/article/details/83013275
今日推荐