下面用「面试回答提纲」的方式,把 4 个问题全部串成一条线:
场景 → 工具/命令 → 根因 → 解决 → 数据结果。
直接背即可,也可展开细节。
- Redis 集群 3 种主流方案
| 方案 | 角色组成 | 数据分布 | 故障处理 | 使用场景 |
|---|---|---|---|---|
| 主从复制(Master-Slave) | 1 主 N 从 | 全量镜像 | 手动/脚本切换 | 读写分离、备份 |
| 哨兵(Sentinel) | 主从 + 3 个以上哨兵进程 | 全量镜像 | 哨兵自动选主 | 高可用 ≤10 G 数据 |
| 分片集群(Cluster) | 多主多从 + 16384 槽 | 按槽分片 | 主节点故障自动迁移 | 海量数据 >10 G,横向扩展 |
记忆口诀:
“小数据主从,高可用哨兵,海量数据上 Cluster。”
“Redis 集群选型:小系统主从,高可用哨兵,海量 Cluster;
死锁用 jstack 搜 deadlock;
CPU 飙高先 top -H 找线程 → jstack 看栈 → async-profiler 火焰图 → 代码或 JVM 参数修复。”