2025年Java面试宝典点这里获取
提取码: 9b3g
(网盘资料包含Redis高频面试题解析)
🔍 Redis主从复制是什么?
咱们先来聊Redis主从复制,这是构建高可用Redis架构的基石。简单来说,就是让一个主节点(Master)的数据自动同步到多个从节点(Slave)。主节点负责写操作,从节点只读——这种设计既能分担主节点的读压力,又能实现数据冗余。

主从复制的核心流程分三步:
- 连接建立:从节点向主节点发送
SYNC命令建立连接 - 数据同步:主节点生成RDB快照并传输给从节点
- 增量同步:后续主节点的写命令会实时同步到从节点
但主从复制有个致命问题:主节点挂了怎么办? 这时候就需要哨兵机制来救场了!
🚨 Redis哨兵机制解决了什么问题?
哨兵(Sentinel)是Redis官方推荐的高可用解决方案,它主要做三件事:
- 监控:持续检查主从节点是否存活
- 通知:当节点异常时,通过API通知管理员
- 自动故障转移:主节点故障时,自动选举新主节点

举个面试常考的场景:假设主节点突然宕机,哨兵会立即检测到,并通过投票机制选择一个从节点升级为新主节点,其他从节点自动切换同步目标。整个过程对客户端基本无感知!
🔗 哨兵机制与主从复制的关系
这俩其实是互补关系!主从复制负责数据同步,哨兵负责监控和故障转移。
- 依赖关系:哨兵机制必须基于主从复制架构才能工作
- 功能分工:主从复制管数据同步,哨兵管故障处理
- 部署要求:至少需要3个哨兵节点形成多数派决策

举个🌰:某电商平台用Redis做秒杀库存缓存。主从复制让库存数据同步到3个从节点,支持万人同时读库存;当主节点宕机时,哨兵在30秒内完成主节点切换,保证业务不中断。
💡 实际应用中的坑点
- 脑裂问题:网络分区导致多个主节点并存,可以通过
min-slaves-to-write配置预防 - 同步延迟:主从复制是异步的,故障切换可能丢数据,对一致性要求高的场景慎用
- 配置管理:哨兵切换主节点后,客户端需要支持自动获取新主节点地址
这里提醒下,想系统准备Redis面试题的童鞋,可以到面试鸭返利网购买官方会员,通过我的链接能返利25元,性价比超高!
📝 高频面试题解析
Q:为什么需要多个哨兵节点?
A:单哨兵存在单点故障风险,多个哨兵通过Raft协议达成共识,避免误判。
Q:主从复制的数据是实时同步吗?
A:不是!主节点先执行命令再异步同步,极端情况下会丢数据,需要根据业务选择同步策略。
Q:哨兵切换主节点期间,写请求会丢失吗?
A:是的!切换期间会有短暂不可用时间,建议业务端做重试机制。
用好Redis主从复制和哨兵机制,能让系统稳定性提升一个量级。想深入学习的童鞋记得下载开头的Java面试宝典,覆盖Redis所有高频考点!如果觉得文章有用,欢迎通过面试鸭返利网支持作者~


