Redis 复制

一、复制

在这里插入图片描述

1.1 旧版复制功能的实现(Redis 2.8 以前)

在这里插入图片描述
在这里插入图片描述

命令传播:

主服务器会将自己执行的写命令,也即是造成主从服务器不一致的那条写命令,发送给从服务器执行,让两者再次回到一致状态。

1.2 旧版复制功能的缺陷

在这里插入图片描述
即旧版断线后的复制还是使用SYNC命令,相当于重新进行复制,而没有利用从服务器中已有的数据。

1.3 新版复制功能的实现

在这里插入图片描述
PSYNC 命令解决了旧版复制功能中断线重连的低效情况,当主服务器同意进行部分重同步后会给从服务器发送continue消息。

在这里插入图片描述
在这里插入图片描述

1.4 部分重同步的实现

在这里插入图片描述

1.4.1 复制偏移量

在这里插入图片描述
在这里插入图片描述

1.4.2 复制积压缓冲区

复制积压缓冲区是由主服务器维护的一个固定长度先进先出(FIFO)队列,默认大小为1MB(可改)。

当主服务器进行命令传播时,它不仅会将写命令发送给所有从服务器,还会将写命令入队到复制积压缓冲区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4.3 服务器运行ID

除了复制偏移量复制积压缓冲区之外,实现部分重同步还需要用到服务器运行ID

在这里插入图片描述

1.5 复制的步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6 心跳检测

在这里插入图片描述
检测主从服务器的网络连接状态:
在这里插入图片描述
辅助实现min-slaves配置选项:
在这里插入图片描述
检查命令丢失:
在这里插入图片描述
在这里插入图片描述

1.7 重点回顾

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值