适用场景
缓存用好了是性能利器,用不好就是事故来源:缓存雪崩打穿数据库、热点 key 打满单节点、数据不一致引发业务纠纷。
配置步骤(热点 Key 与大 Key 治理)
# 1) 采集:redis-cli --hotkeys 或监控慢查询
redis-cli -a 口令 --hotkeys
# 2) 热点:本地缓存 + 读副本 + 分片打散(key 加后缀)
# 3) 大 key:拆分(hash 分桶)或异步删除(UNLINK)
redis-cli -a 口令 --bigkeys
关键参数与建议
- 分层:本地缓存(进程内)+ 分布式缓存(Redis),热点数据本地兜底
- 穿透:空值缓存 + 布隆过滤器,防止无效请求打到底层
- 击穿:互斥锁或逻辑过期,避免单 key 高并发重建
- 雪崩:过期时间加随机抖动,集群多副本,限流兜底
- 一致性:先更新数据库再删缓存(或延迟双删),重要数据设短过期
容易踩的坑
- 大 key 删除阻塞主线程(用 DEL)
- 热点 key 集中在单分片,CPU 打满
- 未采集热点信息,出问题才发现
验证与巡检
redis-cli -a 口令 --bigkeys
redis-cli -a 口令 --hotkeys
- 巡检:无超大 key、热点分散、集群分片负载均衡
小结
缓存架构的验收:压测下数据库 QPS 不暴涨、热点 key 不集中在单节点、缓存失效时业务可降级。做到这三点,缓存才算可靠。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。