首页/数据/Redis 进阶速查/O(N) 命令雷区清单
性能与排障129 条

O(N) 命令雷区清单

复杂度随数据量线性或更差的命令要主动规避:KEYS、HGETALL、SMEMBERS、LRANGE 大范围、SORT、ZRANGEBYLEX 全量等,量大时都可能阻塞主线程。

Redis 进阶速查数据更新于 2026-10-12

常见命令

命令风险点
KEYS全键空间扫描
HGETALL/SMEMBERS全部元素返回
LRANGE 0 -1全列表读取
SORT含 BY/GET 时开销更大
ZUNIONSTORE 等集合运算参与集越大越慢

替代

替代
SCAN 系列增量遍历
HSCAN/SSCAN/ZSCAN 分批读取
知道量级再决定命令:小集合上这些命令完全可用,大集合要换写法。

易错点

  • 在未知规模的键上直接全量取,延迟尖峰由此而来
  • 用 SCAN 替代 KEYS 时忘了它只是弱一致性遍历

数据来源与参考

  • Redis 官方文档:命令复杂度与延迟
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌