redis之主从复制

1.主从复制之一主二从

启动三台redis:

  


从现在看来三台redis的端口分别为6379\6380\6381。

而且三台机器都是主机,等级相同。

将6380、6381端口的redis作为备机

  

情况1:6380、6381端口的redis,再去获取主机6379设置的值:

   

可以发现只要作为备机了,那么之前设置的值同样也可以获取。

此时查看三台redis机器的信息:


    

情况2:如果主机6379设置了键v5,那么从机6380、6381修改值则会提示,不可以修改。


情况3:如果主机6379挂掉了。那么从机6380、6381依然还是从机。不会变成主机。


情况4:主机6379死而复生。那么从机6380、6381会依然保持主从关系。

 

情况5:从机6380挂了,那么主机6379和从机6381不变。如果6380从机死而复生则成为主机,与主机6379的主从关系消失。



所以从机每次与主机断开连接之后,都需要重新连接,除非你配置进了redis.conf文件。

2.主从复制之链式连接






可以发现6379作为主机,6380作为6379端口的从机,6381作为6380端口的从机。

情况1:如果6379主机设置键值对,那么6780、6381端口的主机依然可以取到值。

情况2:如果主机6379挂掉了,那么6380端口的机器变为主机,使用 SLAVEOF no one命令。使6380端口的机器成为主机。

情况3:如果主机6379又重启成功了,那么6379依然还是主机,但是却没有从机了。

主从复制的过程原理:

① 当主库与从库建立了主从关系之后,从库会向主库发送SYNC的命令。

主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来。

③  当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis。

④ Redis接收到后,会载入快照文件并且执行收到的缓存的命令。

⑤  然后,主Redis每当接收到写命令时就会将命令发送从Redis,从而保证数据的一致。

复制架构中出现宕机情况:

一 从redis宕机:

从redis重新启动后会自动加入到主从架构中去的,自动完成数据的同步。从机断开的期间,主机发生变化,那么从机恢复后,将进行增量复制。

二 主redis宕机:

首先从数据库执行slaveoof no one 命令,断开主从关系并且从库提升为主库继续服务。然后主库重新启动后,使用slaveof命令,将其设置为其他库的从库,数据就能重新更新回来。(就是从升级为主了,主重启后,回来当个从)。

3.主从复制之哨兵方式

什么是哨兵方式?

如果主机出现故障,那么就从剩下的从机中投票数自动将从库转换为主库。

自定义文件:sentinel.conf 在/myredis目录下。

编写sentinel.conf文件:

sentinel monitor host6379 127.0.0.1 6379 1
命令监控主机host6379下的地址127.0.0.1下的端口6379,投票超过1的当选主机。

启动哨兵:redis-sentinel /myredis/sentinel.conf


此时哨兵就一直监控6379端口

此时关闭6379端口主机。剩下两台从机6380和6381。


可以看到此时自动选出6381为主机。

情况1:如果主机6379重新启动成功,那么在未被监控到之前是主机。被监控到之后变成从机。



博客:  http://www.cnblogs.com/ssslinppp/p/5661419.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值