Redis集群面试题
最近面试后端岗位时,Redis集群几乎是必考题!今天我就结合自己的面试经验,聊聊高频的Redis集群面试题和解题思路。顺便分享一份干货:2025年Java面试宝典网盘链接,涵盖分布式、微服务等核心考点,备考的同学一定要存!

Redis集群解决了什么问题?
这个问题看似基础,但能考察对分布式系统的理解。我会分三点答:
- 数据容量瓶颈:单机Redis内存有限,集群通过分片横向扩展存储;
- 高并发压力:读写请求分散到多个节点,避免单点性能瓶颈;
- 高可用保障:主从复制+故障转移机制,主节点挂了从节点自动顶上。
集群数据分片如何实现?
面试官最爱追问的底层原理!核心是哈希槽(Hash Slot):
- 整个集群有16384个槽位,每个Key通过CRC16算法映射到具体槽位;
- 节点负责一部分槽位(比如节点A管0-5000,节点B管5001-10000);
- 客户端请求时先计算Key的槽位,再定向到对应节点。

节点扩缩容时数据怎么迁移?
这题考的是集群重定向机制:
- 新节点加入后,通过
CLUSTER SETSLOT命令从其他节点转移槽位; - 迁移过程中,客户端访问旧节点会收到
MOVED错误,附带新节点地址; - 客户端自动更新路由表,后续请求直连新节点。
关键点:迁移期间集群仍可用,但跨节点操作(如MGET)可能临时失败。
集群如何保证高可用?
答这道题要区分数据可靠和服务可用:
- 数据可靠:依赖主从复制,每个主节点有1-N个从节点同步数据;
- 服务可用:
- 主节点故障时,从节点通过选举(Raft协议变种)成为新主;
- 故障转移过程约10~20秒,期间该分片不可写但其他分片正常;
- 客户端需配置重试机制应对短暂不可用。
集群支持事务吗?
分场景回答更显功底:
- 单Key事务:用
WATCH+MULTI+EXEC完全支持; - 多Key事务:
- 若Keys在同一节点,行为与单机一致;
- 若跨节点,直接报错
(error) CROSSSLOT!
优化建议:用HashTag强制Keys分配到同一节点(如{user1}.order和{user1}.info)。
最后分享个面试福利:如果你计划开通面试鸭会员,通过👉 面试鸭返利网 找我可返25元!用省下的钱买杯咖啡,刷题效率更高~

Redis集群在面试中的比重越来越高,理解分片、迁移、高可用等核心机制就能应对大部分考题。想系统提升的话,记得下载开头的Java面试宝典。大家加油冲Offer!
更多面试返利活动:面试鸭返利网首页


