redis系列---6. redis复制(主从、哨兵)

redis的复制

1. 是什么

其实就是常说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的Master/slaver机制,Master以写为主,Slave以读为主
redis中replication文档

2. 能干嘛

2.1 读写分离
2.2 容灾恢复

3. 怎么玩

3.1 配从(库)不配主(库)

配置的时候配置的是从库,主库不需要进行配置,从库监听主库即可

3.2 从库配置:slaveof 主库IP 主库端口
3.3 修改配置文件细节操作

端口,名称等的修改

3.4 常用3招
    1. 三台redis均为空
      avatar
    1. 查看当前redis角色
      avatar
3.4.1 一主二仆
    1. 6379为主,6380和6381为从;主机设置k1 k2 k3,然后设置6380和6381为从机,主机设置v4,从机获取v4,正常;从机获取k1 k2 k3是否正常?
      avatar
    1. 获取k1 k2
      avatar
      正常获取k1 k2 说明从机在明确身份的时候会将主机的所有数据都进行备份
    1. 查看三台机器的主从身份:
      avatar
    1. 主机正常设置k5,从机能正常获取,主机设置k6,从机能否进行设置v6操作?
      avatar
    1. 从机写入k7,失败
      avatar
    1. 主机故障情况:
      avatar
      从机保持原有状态等待
    1. 主机故障后重新启动,保持原有的主从模式,设置k7,从机能正常获取k7
      avatar
    1. 从机故障,主机写入新值k8,从机2正常
      avatar
      从机6380重新启动为master,无法获取k8的值
      avatar
    1. 从机每次断开需要重新指定主机,除非配置进配置文件,重新配置后正常
      avatar
3.4.2 薪火相传(去中心化)
    1. 恢复一主二仆
      avatar
    1. 6379为6380的master,6380为6379的slave,为6381的master
      avatar
    1. 薪火相传模式主机写入k9,从机正常获取k9
      avatar
3.4.3 反客为主
    1. 恢复一主二仆
      avatar
    1. 主机挂了后从机进行手动更新,成为master,另一台从机手动更改为成为master的从机的从机
      avatar
    1. 主机重启后不在主从体系中,两个从机成为新的主从体系
      avatar

4. 复制原理

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

5. 哨兵模式(反客为主的自动版)

5.1 是什么

哨兵模式相当于反客为主的自动版

5.2 怎么玩
5.2.1 调整结构,6379带着80、81

avatar

5.2.2 自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错

avatar

5.2.3 配置哨兵,填写内容

avatar

5.2.4 启动哨兵

avatar

5.2.5 正常主从演示
5.2.6 原有的master挂了

avatar

5.2.7 投票新选(哨兵进行)
5.2.8 重新主从继续开工,info replication查查看

avatar

5.2.9 问题:如果之前的master重启回来,会不会双master冲突?

新的master重新启动后,成为刚刚选出来的master的从机

5.2.10 哨兵模式启动后会把主从信息写进对应的redis的配置文件

avatar

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

6. 复制的缺点

复制延时:
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值