跳到内容
当前位置:首页>面试真题>大厂Redis面试通关(2):主从延迟过高、repl-backlog爆满?这4道生产,让你彻底搞懂主从复制!

大厂Redis面试通关(2):主从延迟过高、repl-backlog爆满?这4道生产,让你彻底搞懂主从复制!

  • 2026-10-21 06:20:28
大厂Redis面试通关(2):主从延迟过高、repl-backlog爆满?这4道生产,让你彻底搞懂主从复制!

面试官问:“Redis主从复制延迟过高怎么解决?”、“repl-backlog-size 设置多少合适?”

如果你只会背“全量同步+增量同步”,那面试官可能会觉得你没处理过真实的线上延迟告警。真正的运维,必须能把主从复制的底层机制和调优参数讲得明明白白。

这是【DevOps-运维小子】Redis面试通关合集的第2篇。

📊 【考点7:使用 Redis INFO 命令查看哪些关键指标?】

👉 基础回答:Server(版本)、Clients(连接数)、Memory(内存)、Persistence(RDB/AOF状态)、Stats(命中率)、Replication(主从信息)、CPU。

👉 生产级回答(加分项):“我们重点监控几个核心指标:

  1. mem_fragmentation_ratio(内存碎片率,>1.5需关注)。

  2. connected_clients(连接数,防止连接耗尽)。

  3. keyspace_hits / (keyspace_hits + keyspace_misses)(缓存命中率,低于90%需排查)。

  4. master_link_status(主从连接状态,必须为up)。”

🛠️ 【考点8:简述 Redis 主从复制工作原理?】

👉 生产级回答:“从节点发送 PSYNC 命令,主节点触发 bgsave 生成 RDB 快照,发送给从节点,期间写命令存入 repl-backlog(复制积压缓冲区)。从节点加载 RDB 后,主节点发送缓冲区指令。后续持续异步同步。⚠️ 这里有一个关键参数:repl-backlog-size 默认只有1MB。如果写入量极大,主从断开重连后,如果偏移量不在缓冲区内,会导致全量同步,数据量大会打满带宽。生产环境建议调整为 64MB 甚至更大。”

📈 【考点9:Redis 主从复制延迟过高怎么解决?】

👉 排查思路:

  1. 网络带宽是否打满(跨机房、跨地域)。

  2. 主节点写入量是否过大(大事务、大Key)。

  3. 从节点配置是否过低(CPU、内存)。

  4. repl-backlog-size 是否过小。

👉 生产级回答(加分项):“如果从节点执行 slave-read-only yes 还发现数据不一致,可能是因为从节点刚从主节点全量同步完成,或者从节点处理慢。可通过 info replication 查看 master_link_status 和 master_last_io_seconds_ago。⚠️ 优化方案:拆分大Key、升级从节点硬件、调整复制缓冲区、使用集群分片分散写入压力。”

🏗️ 【考点10:Redis 高可用方案有哪些?】

👉 标准回答:主从复制、哨兵(Sentinel)、Redis Cluster 集群。

👉 生产级回答(加分项):“小规模用哨兵,数据量超过单机内存用 Cluster。⚠️ Cluster 存在 MOVED 和 ASK 重定向,客户端必须支持 Cluster 协议。此外,Cluster 的 Gossip 协议通信会消耗一定带宽,节点数不宜过多(建议不超过1000个节点)。”

你们在生产环境里,主从延迟最高达到过多少秒?是怎么解决的?欢迎评论区聊聊。

上面展示的仅仅是核心考点。为了方便大家复习,我整理了《Redis生产级面试通关全集》PDF + 4个生产排查脚本(包含内存碎片告警、大Key安全扫描、慢查询分析)。

👉 关注公众号【DevOps-运维小子】,后台回复【Redis面试】,直接领走!

(预告:下一篇讲“高可用架构与故障排查”,哨兵模式怎么选主?脑裂怎么解决?Cluster不可用常见原因是什么?全是高薪运维的必考大招。)