Redis 中的主从复制,也就是 Master-Slave 模型,多个 Redis 实例间的数据同步以及 Redis 集群中数据同步会使用主从复制。
主从复制主要是数据同步, 数据同步分为全量同步和增量同步。
全量同步:
全量同步一般发生在 Slave 机器初始化阶段, 这时候 Slave 需要将 Master 上的所有数据都进行同步复制。
从服务器发送 SYNC 命令,链接主服务器
主服务器收到 SYNC 命令后,进行存盘的操作,并继续收集后续的写命令,存储缓冲区
存盘结束后,将对应的数据文件发送到 Slave 中,完成一次全量同步
主服务数据发送完毕后,将进行增量的缓冲区数据同步
Slave 加载数据文件和缓冲区数据,开始接受命令请求,提供操作
增量更新:
Slave 节点初始化完成之后,开始正常工作,Master 节点进行的写操作都会同步到 Slave 节点上面。Master 节点每执行一个写命令都会向从服务器发送相同的写命令,从服务器接收到命令,并执行。