Redis的主从复制

一、Master-Slave主从复制

主从复制简单来说,就是主机数据更新后,根据配置策略自动同步备机master/slave机制,Master为主,Slave为主。

二、Master/Slave机制

首先启动三个redis服务器,端口分别为637963806381
在这里插入图片描述
此时三台redis服务器的角色都是master
在这里插入图片描述
执行SLAVEOF命令,启动主从机制
在这里插入图片描述

主机可以执行写操作,但是从机只能读
在这里插入图片描述
当主机挂掉之后,两台从机角色还是slave,但是状态由up变成了down

在这里插入图片描述
主机挂掉,从机仍然保留数据,原地待命,当主机重新连接,从机又可以继续工作
在这里插入图片描述
挂掉一台从机不会影响另一台从机,但是当挂掉的主机重新连接时,从机角色变成主机角色
在这里插入图片描述
挂掉的从机需要重新连接主机
在这里插入图片描述
除了一主多从的模式,上一个Slave也可以是下一个slaveMasterSlave同样可以接收其它slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的写压力。如果中途变更转向,那么会清除之前的数据,重新建立拷贝最新的数据。在这里插入图片描述
当主机挂掉的时候,执行SLAVEOF no one命令,可以使得从机反客为主,变成主机
在这里插入图片描述

挂掉的主机再连接时,由于从机反客为主,另一台从机也变更了跟着的主机,所以即使重新启动刚才挂掉的主机,也没有连接着任何的从机
在这里插入图片描述

三、主从复制原理

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

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

四、哨兵模式

哨兵模式就是反客为主的自动化

哨兵模式能够在后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

redis.conf同目录下创建sentinel.conf哨兵配置文件
在这里插入图片描述

执行命令redis-sentinel sentinel.conf启动哨兵模式
在这里插入图片描述

6379主机挂掉之后,哨兵会选出新的主机,此时选出的是6380成为新的主机
在这里插入图片描述

在这里插入图片描述
当刚才挂掉的6379主机再次重新启动时,哨兵在它挂掉的时候,在后台已经将它设置成为了从机
在这里插入图片描述
6379重新启动变成从机
在这里插入图片描述
一个sentinel可以同时监控多个master

五、主从复制的缺点

复制延时:

由于所有的写操作都是先在master上操作,然后同步更新slave上 ,所以从master同步到slave机器有一定的延迟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值