redis个人学习笔记 七:Redis的复制(Master/Slave)

       此文是我看尚硅谷教学视频后的个人的redis学习笔记,每一张截图都是我亲自敲后截图放在笔记中的,粘贴在博客上可能会有点点模糊,若有错误或不足,还望各位大神多多指正!

9 Redis的复制(Master/Slave)

9.1 是什么

       行话:也就是我们所说的主从复制(读写分离),主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

9.2 能干嘛

       ① 读写分离
       ② 容灾恢复

9.3 怎么玩

9.3.1 配库

       配从(库)不配主(库)

9.3.2 从库配置

       ① 命令:slaveof 主库IP 主库端口;
       ② 每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件;
       ③ info replication

9.3.3 修改配置文件细节操作

       本次示例用三个客户端测试。
       ① 拷贝多个redis.conf文件
这里写图片描述
       ② 修改复制了的三个配置文件
这里写图片描述
       6380和6381以此改。

9.3.4 常用3招

9.3.4.1 一主二仆

       1.Init
       开启三台客户端
这里写图片描述
       最初时三个客户端的角色都是一样的,都是master
这里写图片描述
       2.一个Master两个Slave
这里写图片描述
       3.日志查看
       ① 主机日志
这里写图片描述
       ② 备机日志
       跟主机操作一样
       ③ info replication
       查看主机从机的信息
       4.主从问题演示
       ① 问题一:当主机设置了值后从机是否可以对同一个key设值?
这里写图片描述
       ② 问题二:当主机关机后,从机的角色是什么?
这里写图片描述
       当主机关机后,从机是原地待命的。
       ③ 问题三:当主机启动后,再存值,从机可以取到吗?
这里写图片描述
       ④ 问题四:当从机关机后,再开机,是什么角色?时候还可以取到以前主机的值?
这里写图片描述
       每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件;
这里写图片描述

9.3.4.2 薪火相传

       ① 上一个Slave可以是下一个slave的Master,Slave同样可以接收其他,slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的写压力;
       ② 中途变更转向:会清除之前的数据,重新建立拷贝最新的slaveof 新主库IP 新主库端口;
这里写图片描述
这里写图片描述

9.3.4.3 反客为主

       SLAVEOF no one:使当前数据库停止与其他数据库的同步,转成主数据库
       ① 第一步
这里写图片描述
       ② 第二步
这里写图片描述

9.4 复制原理

       slave启动成功连接到master后会发送一个sync命令,Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
       全量复制:slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
      增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步,但是只要是重新连接master,一次完全同步(全量复制)将被自动执行即,首次是全量复制,之后的是增量复制,只要是重连了一次主机,就是全量复制。

9.5 哨兵模式(sentinel)

9.5.1 是什么

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

9.5.2 怎么玩(使用步骤)

      ① 调整结构,6379带着6380、6381,6379作为主机,80和81作为从机
      ② 自定义的/root/Myredis目录(我自己是这个目录)下新建sentinel.conf文件,名字绝不能错
这里写图片描述
      ③ 配置哨兵,填写内容
这里写图片描述
      sentinel monitor 被监控数据库名字(自己起名字) 127.0.0.1 6379 1
      上面最后一个数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机。
      ④ 启动哨兵
      redis-sentinel /myredis/sentinel.conf,上述目录依照各自的实际情况配置,可能目录不同
这里写图片描述
      ⑤ 正常主从演示
      ⑥ 原有的master挂了
      ⑦ 投票新选
      ⑧ 重新主从继续开工,info replication查查看
这里写图片描述
      ⑨ 问题:如果之前的master重启回来,会不会双master冲突?
这里写图片描述

9.5.3 一组sentinel能同时监控多个Master

9.6 复制的缺点

      复制延时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值