
## 核心定义
- 大Key:Value过大(String>1MB/集合>5000元素)→ 内存压力、操作阻塞
- 热Key:QPS>10000 → 单点瓶颈、缓存击穿
- 大热Key:数据量+访问频次叠加 → 服务阻塞、系统崩溃
## 产生原因
- 大Key:误用存储、规划不足、数据未清理、消费侧故障
- 热Key:爆款/活动/热点事件导致访问量突增
## 业务影响
- 大Key:内存不均、OOM、命令延迟、持久化/复制延迟
- 热Key:CPU/带宽耗尽、缓存击穿、存储层过载、业务超卖
## 优化方案
- 大Key:清理过期数据、压缩序列化、拆分Key、转存OSS+异步删除
- 热Key:本地缓存、Key拆分分摊流量、读写分离、Sentinel限流、热Key复制
## 预防策略
- 监控告警:设置阈值告警
- 提前规划:合理设计Key结构
- 容量评估:高并发场景资源预判
| 类型 | 核心特征 | 判断标准 | 主要风险 |
|---|---|---|---|
| 大Key | 数据体积过大 | 单维度数据量超标(如Value > 1MB,元素 > 5000) | 内存压力、操作阻塞、持久化延迟 |
| 热Key | 访问频次过高 | 单维度QPS超标(如QPS > 10000) | 单点瓶颈、缓存击穿、网络拥塞 |
| 大热Key | 数据量与访问频次的叠加效应 | 资源影响超标(CPU或带宽达到瓶颈) | 隐性资源消耗、服务阻塞、突发性系统崩溃 |
大Key(Big Key)的核心特征是Key所存储的Value体积过大。通常基于静态经验阈值判断,例如:
热Key(Hot Key)的核心特征是Key被访问的频率极高,远超集群平均水平。通常基于静态QPS阈值判断,例如单个Key的请求量超过10000 QPS。
Tair和Redis的最小数据分布粒度为Key,单个Key存储在特定数据分片中且不可拆分。业务规划不足、无效数据堆积或访问量突增等因素会导致大Key和热Key问题。
| 类别 | 原因 |
|---|---|
| 大Key | - 在不适用的场景中使用Tair/Redis,导致Value过大(如String类型存储大体积二进制文件)<br> |