Redis的复制(Master/Slave)

1.主从模式

master->slave模式,master负责写,slave负责读
启动三个redis服务
节点初始化均为master节点,6380、6381同6379一样

节点初始化均为master节点

使用slaveof [ip] [端口号]来指定master节点
slaveof 127.0.0.1 6379
节点6380、6381如下

节点6380、6381

现在的6379节点为master节点,它有两个slave节点6380、6381
master节点负责写(set)
slave节点负责读(get)
master节点写入的数据会复制到slave节点

master节点写入的数据会复制到slave节点

2.从从模式

slave->slave模式,上一个节点是下一个节点的master节点,可以有效减轻master的写压力,但中途变更转向会清空数据重新拷贝
配置方法
6380节点->6379节点:slaveof 127.0.0.1 6379
6381节点->6380节点:slaveof 127.0.0.1 6380
从从模式

哨兵模式(sentinel)

哨兵模式是通过redis下的sentinel.conf文件起作用的,名字一定要一样,新版本的redis会自带了这个文件,如果没有自己新建一个即可,配置内容如下
sentinel monitor 被监控的数据库名字 127.0.0.1 6379 1(主机挂掉后投票数达到这个数时接替成为主机)

sentinel.conf

修改成功后我们启动哨兵模式
redis-sentinel /usr/local/redis-4.0.14/sentinel.conf

启动哨兵模式

启动成功后可以看到,6379那台是master节点,而6380和6381是slave节点
我们现在模拟当6379那台挂掉之后,看如何分配

shutdown在这里插入图片描述

原有6379 master节点挂掉后,重新选举了6380 slave节点作为新的master节点

6380
6381

当原来master节点恢复了会怎样呢?两个master节点吗?
当我们再启动6379节点时,已经变为了slave节点

6379

再次查看6380节点时,6379节点已经成为它的新的slave节点

6380

当我们再打开sentinel.conf配置文件时,发现里面的master节点已经变为了6380节点

sentinel.conf

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值