首页 >文档 > redis的主从复制和哨兵机制

redis的主从复制和哨兵机制

Redis主从复制和哨兵机制是构建高可用Redis架构的核心技术。主从复制实现读写分离,通过全量同步和增量同步机制确保数据一致性,解决单节点性能瓶颈。哨兵机制提供自动故障转移能力,监控主节点状态并在故障时选举新主节点,保障服务持续可用。本文详解Redis主从配置、哨兵部署要点,包括复制缓冲区优化、哨兵选举流程等实战技巧,帮助开发者构建稳定可靠的Redis集群。掌握这些技术能有效应对高并发场景,是Java面试中Redis相关问题的重点考察内容。

Redis的主从复制和哨兵机制

面试鸭返利网

2025年Java面试宝典最新版
链接: https://pan.baidu.com/s/1RUVf75gmDVsg8MQp4yRChg?pwd=9b3g 提取码: 9b3g


为什么面试总问Redis主从复制?

咱们都知道Redis是个单线程的玩意儿,虽然性能强但单节点扛不住高并发和大数据量。这时候主从复制(Replication)就派上用场了!简单来说就是让一个主节点(Master)带着一群小弟(Slave),主节点写数据,从节点负责读数据。

主从复制的核心是增量同步全量同步。当从节点第一次连接主节点时,主节点会生成RDB快照发给从节点(全量同步)。之后主节点的每个写命令都会通过复制缓冲区传给从节点(增量同步)。

这里有个坑要注意:复制缓冲区溢出!如果主节点写入量太大,缓冲区可能撑爆导致反复全量同步。解决方案是合理设置repl-backlog-size参数,或者升级Redis版本用PSYNC2协议。


主从复制配置实战

  1. 配置从节点:在从节点的配置文件里加一句replicaof <masterip> <masterport>
  2. 认证配置:如果主节点有密码,加上masterauth <password>
  3. 只读模式:从节点默认只读,想关闭可以设置replica-read-only no(不建议)
  4. 网络优化:主从节点最好部署在内网,避免网络波动导致复制中断

面试鸭返利网


哨兵机制如何保命?

主从复制解决了读写分离的问题,但万一主节点挂了怎么办?这时候哨兵(Sentinel)就登场了!

哨兵其实是个监控程序,主要干三件事:

  1. 监控:每秒ping主节点和从节点
  2. 通知:发现节点宕机立马发告警
  3. 自动故障转移:主节点挂了自动选新主

面试必考题:哨兵怎么选新主?
首先淘汰掉网络不好的从节点,然后看复制偏移量(谁的数据最新),最后选运行时间最长的。整个过程大概10-30秒,这段时间服务会不可用,所以生产环境建议用Redis Cluster。


哨兵部署的坑点

  1. 最少3个哨兵:避免脑裂问题(比如2个哨兵同时认为主节点挂了)
  2. 配置同步:所有哨兵的配置文件要一致,特别是sentinel monitor mymaster这行
  3. 超时参数down-after-milliseconds别设太小,否则网络波动就误判
  4. 客户端适配:Java客户端要用支持Sentinel的库,比如Jedis或Lettuce

如果大家需要购买面试鸭会员,可以通过面试鸭返利网找到我,购买会员立返25元!


主从+哨兵架构图

面试鸭返利网

这种架构能扛住单点故障,但横向扩展能力有限。对于海量数据场景,还是要上Redis Cluster。不过面试官就爱问主从和哨兵,因为这是理解Redis高可用的基础!下次面试被问到,你就把复制流程和哨兵选举机制讲清楚,绝对加分!

如果你想获取更多关于面试鸭的优惠信息,可以访问面试鸭返利网面试鸭优惠网,了解最新的优惠活动和返利政策。

🎯 立即加入面试鸭会员 →

今日有支付宝大红包赶快领,手慢无

支付宝红包二维码

支付宝扫码领取1-8元无门槛红包

支付宝红包二维码