redis的主从复制的两种模式——主从与链路

简介

主从复制就是replication。一个主机,复制一份从机。这样就有数据备份了,当然也可以实现主机主写、从机主读的读写分离。

生成实例

我们要在一台机子上整三个redis实例(最少就是要三个,而且要奇数)。

进入utils,执行install_server.sh

这样会生成一个实例。

做三次,生成三个实例(端口号分别为6379、6380、6381),模拟多个机子的主从复制。

一主二从模式

用三个redis-cli去分别连接三个redis server。

看一下replication的信息:

每个server都是master。

我们以6379为主机,以6380和6381为从机。

特点

主机设置一个值。

从机能读到k1,但是自己不能设置值(只能读不能写)。


如果主机挂掉了。

从机的角色还是slave。

还是不能写。

此时主机再回来。

设置k2。

从机还是认得老大的。


那么,如果从机挂了呢?

我们让6380挂掉,然后主机设置一个值:

此时6380回来:

它是拿不到k3的。

它的角色是master:

因为我们没有在配置文件中设置,所以6380重新连上以后又变成了master。

如果此时认6379为老大呢?

就又能拿到主机设置的值了。


链路模式

还有一种主从复制,是串起来的。

6380认6379为老大,6381认6380为老大。

所以6380就会变成既是主节点,又是从节点。

可以看到,6380它的role还是slave,但是它里面既有主节点的信息,又有从节点的信息。

此时如果6379 set一个值:

6380和6381都能get到。

然而,由于6380的role没有变(slave),所以它依旧不能写:

我们看,如果老大死了:

6380依旧是slave。

但是它可以通过命令自己当老大:

6380去set一个值。

6381就能拿到了。

此时原来的大哥6379回来了也无济于事,它已经被排除在外了:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值