[【2025年Java面试宝典】点击领取👉 链接: <font color="blue">https://pan.baidu.com/s/1RUVf75gmDVsg8MQp4yRChg?pwd=9b3g</font> 提取码: 9b3g]

一、Redis主从复制的基本原理
Redis的主从复制机制是面试必考知识点,特别是在分布式场景下如何保证数据一致性。主从复制的核心逻辑是:主节点(master)负责写操作,从节点(slave)通过异步方式同步主节点数据。
这里要注意两个关键点:
- 异步复制意味着主节点不会等待从节点确认,可能导致短暂的数据不一致
- 从节点默认是只读模式,如果误操作修改从节点数据,会导致主从数据差异
(这时候面试官可能会追问:"那主从复制具体怎么建立连接的?")

二、主从复制的正确说法解析
1. 关于全量复制与增量复制
正确说法:首次连接时会触发全量复制(RDB文件传输),后续通过复制积压缓冲区进行增量复制。很多同学容易混淆这两种场景,记住一个关键点:当从节点offset不在主节点的复制缓冲区范围内时,就会触发全量复制。
2. 主从节点断连后的处理
常见误区是认为断连后必须重新全量同步。实际上Redis通过repl_backlog_buffer缓冲区(环形结构)保存最近写入数据,只要断线时间不超过缓冲区覆盖周期,就能继续增量同步。
3. 关于复制过程是否阻塞主节点
这是面试陷阱题!正确答案是:主节点生成RDB文件时会fork子进程,期间主线程仍然可以处理请求。但要注意fork操作本身在数据量大时可能导致短暂阻塞。

三、主从复制的典型面试问题
Q1:主从复制时网络断开怎么处理?
这时候要分两种情况回答:
- 短时间断连:通过repl_backlog_buffer恢复增量数据
- 长时间断连:从节点需要删除旧数据,重新全量同步
Q2:如何保证主从数据强一致性?
这个问题容易让候选人踩坑!Redis主从复制天然是最终一致性,如果要求强一致,需要通过WAIT命令强制等待N个从节点确认(但会影响性能)。
Q3:主从架构下主节点挂了怎么办?
这里要引出哨兵机制,说明自动故障转移流程。但切记不要扩展太多,重点突出主从复制本身的机制。
需要Redis实战经验的小伙伴注意了,现在通过面试鸭返利网购买面试鸭会员可享25元返利,各类数据库高频真题应有尽有。特别是在主从复制、哨兵模式、集群方案等高频考点上,平台提供了详细的技术解析和真实案例讲解。
四、主从复制的进阶知识点
1. 无盘复制(Redis 2.8+)
主节点直接通过socket发送数据,避免生成RDB文件到磁盘。这个特性在容器化部署场景特别有用,但要注意网络带宽是否足够。
2. 从节点晋升为主节点的条件
在哨兵监控的场景下,需要说清楚客观下线判断、领导者选举等过程。这里可以结合CAP理论说明Redis的选择倾向。
3. 读写分离的实现策略
虽然从节点可以处理读请求,但要特别注意:
- 主从延迟可能导致读取旧数据
- 大量从节点可能导致主节点网络带宽瓶颈
本文涉及的所有Redis主从复制知识点,都可以在面试鸭返利网找到对应的真题解析。现在注册还能免费领取《分布式系统面试秘籍》,帮助大家快速掌握主从复制、哨兵机制、集群分片等核心考点。需要购买会员的同学记得通过返利网下单,直接省下25元午餐钱!


