外观
一句话答案
热 Key 导致单节点瓶颈,解决:本地缓存(Caffeine)+ 读副本分担 + Key 打散到多节点。
核心要点
发现: 监控 QPS 异常 / redis-cli --hotkeys
解决:
- 本地缓存:JVM 内 Caffeine/Guava Cache
- 读副本:从节点分担读请求
- Key 打散:key_{random} 分散到多个节点,读取时随机选一个
追问与易错
追问方向:
- 怎么发现热 Key?
- 本地缓存和 Redis 怎么保持一致?
- 多级缓存更新顺序?
易错点:
- ❌ 加从库能解决热 Key——Cluster 中热 Key 只在一个 slot
- ❌ 本地缓存不会过期——必须设 TTL
💡 记忆锚点
热Key = 网红奶茶店只有一家分店(单节点瓶颈)。解决:开JVM本地分店(Caffeine本地缓存)、让加盟店也能卖(读副本)、把招牌菜分到不同门店(key_{random}打散到多节点)。