Redis-主从复制-复制原理

Redis主从复制-复制原理

主从复制的一些问题

  1. 如果Master断开(宕机),Slave依然连接着Master,可以正常使用读操作,但是没有写操作。如 果Master恢复正常,Slave依旧可以直接获取Master写的信息。
  2. 如果Slave断开(宕机),当该Slave重启成功,则会变为Master,需要通过slaveof 恢复成Slave, 只要变为Slave,立刻可以从Master同步所有数据。

复制原理

  • Slave启动成功连接到Master后会主动发送一个同步(sync)命令。
  • Master接到Slave的命令,把Master数据进行持久化,把rdb文件发送给Slave,Slave拿到rdb进行 读取。
  • 每次Master进行写操作之后,会和Slave进行数据同步。

在这里插入图片描述

  • 全量复制:一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。
  • 增量复制:指Slave初始化后开始正常工作时主服务器发生的写操作同步到从服务器的过程。

薪火相传

上一个Slave(从机)是下一个Slave(从机)的Master(主机)。

在这里插入图片描述

优点:Slave同样可以接收其他Slave的连接和同步请求,那么该Slave作为了链条中下一个的Master, 可 以有效减轻Master的压力,去中心化降低风险。

缺点:一旦某个Slave宕机,后面的Slave都无法备份。

注意:

  • 也是通过slaveof ip port命令修改Master。
  • 中途变更转向:会清除之前的数据,重新建立拷贝最新的。
  • Slave6380本质上仍然是从库,只能读、不能写。

反客为主

当一个Master宕机后,后面的Slave可以立刻升为Master,其后面的Slave不用做任何修改。

在这里插入图片描述

通过slaveof no one 将Slave变为Master。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

途中刂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值