温馨提示×

centos redis慢日志怎么看

小樊
44
2026-09-24 03:44:13
栏目: 云计算

在 CentOS 上查看 Redis 慢日志(Slow Log),主要通过 redis-cli 命令来完成。下面按常见场景给你说明。


一、前提

确保你能连接到 Redis:

redis-cli

如果 Redis 有密码:

redis-cli -a yourpassword

如果是远程或指定端口:

redis-cli -h 127.0.0.1 -p 6379

二、查看慢日志

1. 查看慢日志内容

SLOWLOG GET

默认返回最近 10 条慢日志。

查看更多条数(例如 50 条):

SLOWLOG GET 50

2. 慢日志字段说明

每条慢日志类似:

1) 1) (integer) 15
   2) (integer) 1700000000
   3) (integer) 12000
   4) 1) "KEYS"
      2) "*"

含义:

  • 15:慢日志 ID
  • 1700000000:发生时间(Unix 时间戳)
  • 12000:执行耗时(微秒,这里是 12 毫秒)
  • KEYS *:具体执行的命令

三、查看慢日志配置

1. 查看慢日志阈值

CONFIG GET slowlog-log-slower-than

单位:微秒(1 毫秒 = 1000 微秒)

例如:

  • 10000 → 超过 10 毫秒的记录
  • 0 → 记录所有命令(不建议生产)

2. 查看慢日志最大保存条数

CONFIG GET slowlog-max-len

默认一般是 128


四、修改慢日志配置(临时)

CONFIG SET slowlog-log-slower-than 5000
CONFIG SET slowlog-max-len 200

重启 Redis 后会失效


五、永久修改(CentOS)

编辑 Redis 配置文件,通常是:

/etc/redis.conf

或

/etc/redis/redis.conf

添加或修改:

slowlog-log-slower-than 5000
slowlog-max-len 200

重启 Redis:

systemctl restart redis

六、清理慢日志

SLOWLOG RESET

七、常见慢命令原因

  • KEYS *
  • HGETALL 大 hash
  • SMEMBERS 大集合
  • 大 value 的 GET / SET
  • 网络或 CPU 负载高

如果你愿意,可以贴一下:

  • SLOWLOG GET 20 的输出
  • Redis 版本

我可以帮你具体分析问题。

0 踩