Redis Cluster 分片以后,很多人会以为流量自然均摊。但只要某个 key 被极高频访问,它所在的 slot 和节点就会成为全局瓶颈。
Hot Key 的危险在于它不是容量问题,而是局部流量问题。整个集群看起来 QPS 还没到上限,单个节点却已经 CPU 打满、网络拥塞或连接堆积。
先把机制边界说清楚
这一篇讨论热点 key 的识别和防护,不把它和大 key 混成一类。Hot Key 是访问频率异常,大 key 是体积异常;两者可以叠加,但治理重点不同。
整体路径
上面这张图先把主线铺开:大量请求汇聚到一个 slot,一台节点先被打满。读 Redis 这类系统,最重要的是别只停在命令接口,要继续追问它在内存里是什么形状、在主线程上走多远、失败时会留下什么状态。
底层机制
- Cluster 按 key 路由,热点 key 会把请求集中到一个 slot 所在节点。
- 读热点可能造成 CPU、网络和输出缓冲压力,写热点还会放大复制和持久化压力。
- 热点探测可以来自客户端埋点、代理统计、Redis 采样或业务日志。
- 治理手段包括本地缓存、请求合并、读副本、拆 key 和限流降级。
这些机制放在一起看,就能把「这个命令能不能用」改成「这个命令在当前数据规模下还便不便宜」。Redis 的很多坑,不是命令本身错了,而是数据规模和访问方式已经越过了它的舒适区。
取舍与边界
Hot Key 没有纯 Redis 内部的万能开关。越靠近请求入口治理,效果越好;越等到 Redis 节点打满,手段越被动。
典型问题:用机制化例子排查
- 给客户端或网关加 key 维度统计,提前发现 TopK。
- 读多写少热点优先本地缓存,并设置短 TTL 和主动失效策略。
- 热点重建时用请求合并,避免所有请求同时回源。
- 写热点要考虑业务拆分或异步聚合,不要指望加从库解决写压力。
收束:一句判断
分片解决平均压力,Hot Key 负责提醒你平均值会骗人。
关于十三Tech
我是十三,All in AI Agent 方向的架构师,专注 AI 工程实践。
我相信 AI 是程序员的最佳搭档,也希望帮助每一位开发者更好地驾驭 AI。
如果你想继续跟完这套「图解 Redis」,欢迎关注公众号 「十三Tech」。后续会继续按数据结构、底层机制、持久化、高可用和实战排查这条线更新。

