1.前言
在redis中为了保证redis的高可用,一般会搭建一种集群模式就是主从模式。
主从模式可以保证redis的高可用,那么redis是怎么保证主从服务器的数据一致性的,接下来我们浅谈下redis主(master)从(slave)同步的原理。
2.初次全量同步
当一个redis服务器初次向主服务器发送slaveof命令时,redis从服务器会进行一次全量同步,同步的步骤如下图所示:
图片.png
- slave服务器向master发送psync命令(此时发送的是psync ? -1),告诉master我需要同步数据了。
2.master接收到psync命令后会进行BGSAVE命令生成RDB文件快照。生成完后,会将RDB文件发送给slave。
3.slave接收到文件会载入RDB快照,并且将数据库状态变更为master在执行BGSAVE时的状态一致。
4.master会发送保存在缓冲区里的所有写命令,告诉slave可以进行同步了,slave执行这些写命令。完成同步.
网友评论