Redis的复制(Master/Slave)

Redis的主从复制实现数据的读写分离和容灾恢复,Master写入数据后自动同步到Slave。哨兵模式是其自动故障转移机制,监控Master状态,当故障发生时自动选举新的Master。配置包括一主多从、链式复制等,哨兵通过配置文件监控并自动切换主库。复制可能导致数据延迟,增加 Slave 数量会加重延迟问题。
摘要由CSDN通过智能技术生成

Redis的复制(Master/Slave)

是个啥
主从复制,主机数据更新后根据配置和策略,
自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

主要作用

读写分离 容灾恢复

怎么用
配从(库)不配主(库)

Info replication
查看当前redis 信息
在这里插入图片描述

从库配置:
命令:
slaveof 主库IP 主库端口

SLAVEOF no one
使当前数据库停止与其他数据库的同步,转成主数据库

  1. 每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件
    在这里插入图片描述

常用的有三种方式
Master 可写 可以读
Slave 不可写 可以读

一主二从
两个从库
slaveof 主库IP 主库端口

薪火相传
一个从库
slaveof 主库IP 主库端口

一个从库
slaveof 上一个从库IP 上一个从库端口

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

中途变更转向:会清除之前的数据,重新建立拷贝最新的

反客为主
与一主二从 相同
手动选出一个新的Master 建立一个新的关系

复制原理
Slave启动成功连接到master后会发送一个sync命令

Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,
在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步

全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

哨兵模式(sentinel)
就是一个自动的反客为主
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

如何用
新建一个sentinel.conf文件,名字绝不能错

文件内容
sentinel monitor 被监控数据库名字(自己起名字) 127.0.0.1 6379 1
上面最后一个数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机

可以有多个配置

启动哨兵
Redis-sentinel /myredis/sentinel.conf
上述目录依照各自的实际情况配置,可能目录不同

复制的缺点

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值