【Redis学习笔记】主从复制

读写分离,性能扩展;快速容灾恢复

一主两从

准备一台服务器,启动不同的redis端口,6379、6380、6381

  1. 连接redis-cli
redis-cli
  1. 查看主从信息
info replication

主机6379

【Redis学习笔记】主从复制_第1张图片

从机6380、6381

【Redis学习笔记】主从复制_第2张图片
【Redis学习笔记】主从复制_第3张图片

  1. 设置从机
config set masterauth password -- 主机没有密码跳过
slaveof  <ip> <port>
  1. 查看主从信息
info replication

主机

【Redis学习笔记】主从复制_第4张图片

从机

【Redis学习笔记】主从复制_第5张图片
【Redis学习笔记】主从复制_第6张图片
5. 主机写数据,从机可以读到
6. 从机只有读权限,没有写权限
7. 当主机宕机,从机还是从机,主机重启即可恢复
8. 但从机宕机,从机重启需要重新设置,也可以通过redis.conf配置文件设置,使其永久生效

薪火相传

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

  • slaveof
  • 中途变更转向:会清除之前的数据,重新建立拷贝最新的
  • 风险是一旦某个slave宕机,后面的slave都没法备份
  • 主机挂了,从机还是从机,无法写数据了

反客为主

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。
slaveof no one 将从机变为主机。
【Redis学习笔记】主从复制_第7张图片
【Redis学习笔记】主从复制_第8张图片

当主机6379宕机时,我们只需要将6380使用slaveof no one将6380变成主机即可恢复使用

【Redis学习笔记】主从复制_第9张图片
【Redis学习笔记】主从复制_第10张图片

哨兵模式

反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

  1. 新建sentinel.conf文件
  2. 编写内容
sentinel monitor mymaster 127.0.0.1 6379 1
  1. 启动哨兵
redis-sentinel  sentinel.conf 


4. 当主机宕机时能自动将其中从机升级为主机,而原先的主机再次启动将会变成从机

你可能感兴趣的:(Redis,redis,学习,数据库)