Redis之主从复制/读写分离

本文详细解析了Redis的主从复制机制,包括读写分离、手动模式及哨兵模式(sentinel)的自动故障转移过程。通过实例说明了如何配置哨兵监控master,以及在不同故障情况下,哨兵如何进行主从切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis之主从复制 读写分离:

 

行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,

自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

 

一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下:

  1. 从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;
  2. 从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G

主机可读写    从机只可读

 

如何使用:

1、配从(库)不配主(库)

2、从库配置:Slaveof 主库IP 主库端口

 

 


 

手动模式:

主机挂掉,从机原地待命 从机数据仍然存在

从机挂掉,再开启将会变Master,需要重新Slaveof  ip 端口变为从机

缺点:主机挂掉 需要手动把从机变为主机 然后把其他从机重新SLAVEOF到新主机

 

 

 

 

主从复制原理:

 

 

哨兵模式(sentinel)

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

 

配置哨兵监控master:

Touch sentinel.conf新建文件 写入如下内容:

 sentinel monitor 被监控数据库名字(自己起名字) 127.0.0.1 6379 1

启动哨兵:

redis-sentinel  sentinel.conf

 

情况1:Master挂掉

哨兵会根据投票来决定剩下的从机谁做新的Master,可能会有延迟

 

情况2:原有Master复活

哨兵会把原Master加入到新的Master下作为从机

 

一组sentinel能同时监控多个Master

 

 

主从复制缺点:

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值