标准答案

  1. 热 Key 可以从命令采样、访问频率、慢日志、节点 CPU、网络和单分片 QPS 中识别;它会让单节点或单分片成为瓶颈,即使集群总体负载不高。
  2. 大 Key 可以从内存分析、Key 扫描、序列化大小和单命令耗时中发现;大对象会造成网络传输、序列化、复制和删除阻塞,尤其不能用阻塞式全量读取或删除。
  3. 热 Key 可通过本地副本、请求合并、分片复制或业务降级分散读压力;大 Key 应拆分数据结构、分页读取、异步删除和控制单次返回大小。
  4. 治理后要观察 P99、网络带宽、复制延迟、事件循环阻塞和分片负载,而不是只看缓存命中率。

题目解析

一个 Key 既可能很热也可能很大,此时读取一次就会放大网络和 CPU 压力。把它简单复制到更多节点可能继续扩大同步和失效成本,需要先改变数据模型。

排查时应保留安全边界:生产环境不应通过一次性 KEYS、全量 dump 或同步删除来找问题,否则诊断动作本身可能制造事故。

常见误区

  • 只看集群平均 CPU,忽略某个分片或节点已经被单 Key 打满。
  • 用同步删除大 Key,导致服务线程长时间阻塞。

作者信息