首页/数据/Redis 进阶速查/SLOWLOG 维护命令:LEN 与 RESET
性能与排障129 条

SLOWLOG 维护命令:LEN 与 RESET

SLOWLOG LEN 查看当前条数,SLOWLOG RESET 清空日志;变更窗口前后用 RESET 得到干净样本。

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

LEN 与 RESET 怎么配合

SLOWLOG 的维护类子命令有两个:SLOWLOG LEN 返回当前保留的条目数,用来判断缓冲区是否接近上限;SLOWLOG RESET 清空全部条目,不可恢复。做变更前后对比时,先在窗口开始前 RESET,抓到的样本就只属于目标窗口,比较起来更干净;代价是清掉的是证据,执行前要先把已有内容导出。两个动作通常成对出现:先看 LEN 判断缓冲压力,再决定是否开新窗口。

基本信息

SLOWLOG LEN返回当前保留的条目数
SLOWLOG RESET清空全部条目,不可恢复
典型用法变更或修复前后做对比采样
相关配置slowlog-max-len 决定保留上限
使用前提清空之前先导出已有内容
采样窗口按变更窗口设定,前后保持一致

典型使用场景

  • 变更验证:清理后开新窗口,看新条目是否消失
  • 容量判断:LEN 长期贴近上限说明条目正在被覆盖
  • 发布前后对比:两次采样窗口一致,结论才可比
  • 排障准备:先导出再清理,避免丢失现场证据
  • 共享实例协调:多人共用同一实例时,清理前知会相关方
  • 窗口时长记录:把 RESET 与下次读取的时间点写进变更单,样本跨度才可解释
  • 结果验证:清理并优化后对比新窗口的条目数与耗时分布

标准动作顺序

标准动作顺序
redis-cli SLOWLOG LEN                            # 当前条数,与上限对照
redis-cli SLOWLOG GET 128 > slowlog_before.log   # 先导出再清理
redis-cli SLOWLOG RESET                          # 开新的采样窗口
redis-cli SLOWLOG LEN                            # 确认已归零
redis-cli CONFIG GET slowlog-max-len             # 对照保留上限

子命令对照

子命令作用风险
SLOWLOG LEN读取当前条数无
SLOWLOG RESET清空全部条目现场证据丢失且不可恢复
SLOWLOG GET读取条目明细输出可能含敏感参数
CONFIG GET slowlog-max-len读保留上限调整参数需评估内存占用
抓取前的 RESET 能让样本只包含目标窗口,对比更干净;配合固定的采集窗口与负载条件,结论才站得住。
在多团队共享的实例上随意 RESET 会影响他人排查:清掉的是公共证据,执行前先导出并知会相关方。

易错点

  • 在多团队共享的实例上随意 RESET:影响他人排查,事后也无从追溯
  • 清理前未导出样本:现场证据直接丢失,无法回溯
  • LEN 长期贴近上限却不处理:条目被覆盖,事故时才发现样本缺口
  • 采样窗口前后不一致:两次对比的条件不同,结论不可用

数据来源与参考

  • Redis 官方文档:SLOWLOG 子命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌