微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐