Redis的主从同步机制

redis主从数据同步可以分为全量同步和部分同步。
每个redis启动时都会生成一个随机字符串RID(replication ID ),从节点怎么判断需要同步多少呢?
通过偏移量offset来确定。主节点每次有数据写入,都会在offset上加上写入的字节长度,所以从节点通过比较RID和offset就能确定需要同步多少数据。

部分同步:
1.从节点保存的主节点RID与主节点的RID一致时,从节点非第一次同步,通过offset把这部分需要同步的数据放入缓冲区,然后异步同步到从节点。

全量同步:
1.当从节点第一次启动,进行数据同步时,是全量同步的。
2.当从节点保存的主节点RID与主节点的RID不一致时,说明主节点可能宕机或重启过啥的,数据已经不一致了,所以需要重新全量同步,同时删除掉旧的数据。
3.当部分同步需要同步的数据超过了缓存区的大小限制时,采用全量同步。

注意:RDB和AOF的复制可以同时进行的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值