redis全量同步的流程

当slave节点请求全量同步时,它发送replid和offset给master。如果replid不匹配,master执行全量同步,通过bgsave生成RDB文件并发送给slave,同时将命令记录在repl_baklog中持续发送。slave则清空数据并加载RDB,通过offset来确认是否需要进一步同步。
摘要由CSDN通过智能技术生成

1-slave节点请求全量同步,发送replid(节点ID)和offset(偏移量)

2-master节点判断replid,当节点不一致时,采用全量同步操作(证明是该节点第一次同步)

3-master节点采用bgsave的方式将完整数据内存生成RDB文件,

并将RDB文件发送至slave

4-slave清空本地数据,加载master的rdb数据

5-master在保存RDB文件的同时会将命令记录在repl_baklog中,并持续的将log

中的命令发送给slave

6-slabe加收到命令,保持与master之间的同步

备注:

replid-数据集的ID,在slave节点同步主节点后继承主节点的replid

offset-偏移量,随着reol_baklog中的数据增多而变大,slave同步完成时

也会记录offset同步,如果slave的offset小于master的offset,证明slave

的数据落后于master,需要进行同步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值