Redis SHOWLOG 命令
Redis SLOWLOG 命令可以查看 slow log
( Redis >= 2.2.12 )
SLOWLOG GET
打印所有 slow log ,最大长度取决于slowlog-max-len
选项的值SLOWLOG GET number
只打印指定数量的日志
什么是 SLOWLOG
Slow log 是 Redis 用来记录查询执行时间的日志系统。
查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。
另外,slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度
设置 SLOWLOG
Slow log 的行为由两个配置参数(configuration parameter)指定,可以通过改写 redis.conf
文件或者用 CONFIG GET
和 CONFIG SET
命令对它们动态地进行修改。
第一个选项是 slowlog-log-slower-than
,它决定要对执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。
比如执行以下命令将让 slow log 记录所有查询时间大于等于 200 微秒的查询:
CONFIG SET slowlog-log-slower-than 200
而以下命令记录所有查询时间大于 2000 微秒的查询:
CONFIG SET slowlog-log-slower-than 2000
另一个选项是 slowlog-max-len
,它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log ,以此类推。
以下命令让 slow log 最多保存 2000 条日志:
CONFIG SET slowlog-max-len 2000
使用 CONFIG GET 命令可以查询两个选项的当前值:
127.0.0.1:6379> CONFIG GET slowlog-log-slower-than 1) "slowlog-log-slower-than" 2) "2000" 127.0.0.1:6379> CONFIG GET slowlog-max-len 1) "slowlog-max-len" 2) "2000"
语法
redis SHOWLOG 命令语法如下:
127.0.0.1:6379> SLOWLOG subcommand [argument]
返回值
取决于不同命令,返回不同的值。
范例
查看日志信息:
127.0.0.1:6379> SHOWLOG get 2 1) 1) (integer) 50 2) (integer) 1503397963 3) (integer) 17889 4) 1) "SYNC" 2) 1) (integer) 49 2) (integer) 1503396847 3) (integer) 18260 4) 1) "FLUSHALL"
查看当前日志的数量:
127.0.0.1:6379> SLOWLOG LEN (integer) 51
使用命令 SLOWLOG RESET
可以清空 slow log
127.0.0.1:6379> SLOWLOG LEN (integer) 51 127.0.0.1:6379> SLOWLOG RESET OK 127.0.0.1:6379> SLOWLOG LEN (integer) 0