vlambda博客
学习文章列表

2020-07-21:简述redis主从同步的过程。

福哥答案2020-07-21:


1.从服务发送一个sync同步命令给主服务要求全量同步。

2.主服务接收到从服务的sync同步命令时,会fork一个子进程后台执行bgsave命令(非阻塞)快照保存,生成RDB文件,并将RDB文件发送给从服务。

3.从服务再将接收到的RDB文件载入自己的redis内存。

4.待从服务将RDB载入完成后,主服务再将缓冲区所有写命令发送给从服务。

5.从服务在将主服务所有的写命令载入内存从而实现数据的完整同步。

6.从服务下次在需要同步数据时只需要发送自己的offset位置(相当于MySQL binlog的位置)即可,只同步新增加的数据,再不需要全量同步。

评论

https://user.qzone.qq.com/3182319461/blog/1595286014