首页/数据/数据库速查/Redis 使用高频误区清单
Redis 运维与场景124 条

Redis 使用高频误区清单

从「当数据库用」到「KEYS 扫全库」:这些误区的共同点是上线不炸、流量上来才炸;开发评审与上线检查时对照排查。

数据库速查数据更新于 2026-10-12
  • 当主存储:持久化有丢数窗口(everysec 也可能丢 1 秒),权威数据要落库
  • 无 TTL:缓存堆满触发淘汰,热数据被冷数据挤掉
  • 大 key:百万元素集合查一次卡一次,治理用拆分 + UNLINK
  • 热 key:单分片 CPU 打满,用本地缓存/多副本/拆分
  • KEYS *:生产禁用,用 SCAN 渐进遍历
  • 连接:每请求新建连接或池上限过大,打满 maxclients
  • 版本:LMPOP/ZINTERCARD/FUNCTION 等命令 7.0 才有

体检命令

体检命令
redis-cli INFO clients | grep connected_clients
redis-cli INFO memory | grep -E "used_memory_human|maxmemory_human"
redis-cli --bigkeys        # 采样找大 key(低峰执行)
redis-cli --hotkeys        # 需 LFU 淘汰策略
redis-cli SLOWLOG GET 10
--bigkeys/--hotkeys 都会遍历全库:主库高峰执行等于给自己制造故障,用副本或低峰。

易错点

  • 上生产才发现命令不存在:本地老版本测试通过、线上报 unknown command
  • 容量按「平均大小×键数」估:没算过期/碎片/复制缓冲区,实际用量超预期

数据来源与参考

  • Redis 官方文档: 延迟排查
  • Redis 官方文档: 内存优化

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌