Redis系列-复制

Redis的复制功能确保主从服务器的数据一致性。复制过程包括同步(SYNC/PSYNC)和命令传播两个阶段。同步阶段,主服务器通过RDB文件或部分重同步来更新从服务器的数据。命令传播则在主服务器执行写命令后,将命令发送给从服务器,保持数据一致。心跳监测确保主从连接的稳定性和数据完整性。
摘要由CSDN通过智能技术生成

Redis系列-复制

一.什么是复制?

Redis复制是不同Redis实例之间的数据同步,其中我们将被复制的Redis实例称之为主服务器,复制数据的Redis实例称之为从服务器。复制的方式通常为主服务器将数据发送到从服务器,从服务器接收到数据,将数据保存在当前实例中,最终的目标是保证主服务器与从服务器间的数据一致及同步。

二.复制的实现

1.同步

1.1 SYNC

从服务器通过向主服务器发送SYNC命令,来实现同步。SYNC命令的执行步骤:

(1)      从服务器向主服务器发送SYNC命令

(2)    接收到SYNC命令的主服务器执行BGSAVE命令,在后台生成一个RDB文件,并使用一个缓冲区记录一个从现在开始执行的所有写命令。

(3)      当主服务器的BGSAVE命令执行完毕时,主服务器会将BGSAVE命令生成的RDB文件发送给从服务器。从服务器接收并加载这个RDB文件,将从服务器的数据库状态更新至主服务器执行BGSAVE命令时相同的数据库状态

(4)    主服务器将缓冲区中记录的写命令传播给从服务器,从服务器执行这些命令,将从服务器数据库的状态更新至主服务器当前的状态。

1.2 PSYNC

Redis2.8版本之后使用PSYNC命令替代SYNC命令来执行复制时的同步操作。PSYNC支持完整重同步和部分重同步两种模式。

1.2.1 完整重同步

完整重同步主要用于初次复制的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道化简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值