redis 慢查询日志


1.什么是slowlog

Slow log 是 Redis 用来记录查询执行时间的日志系统。

查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。

另外,slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。


2.查看慢查询日志参数 

127.0.0.1:6379> config get slowlog*

1) "slowlog-log-slower-than"

2) "10000"   --单位微妙

3) "slowlog-max-len"   --最多保存慢查询日志数量

4) "128"


3.可动态修改,动态参数

127.0.0.1:6379> config set slowlog-log-slower-than 100000

OK

127.0.0.1:6379> config set slowlog-max-len 256

OK

127.0.0.1:6379> config get slowlog*

1) "slowlog-log-slower-than"

2) "100000"

3) "slowlog-max-len"

4) "256"


4.查看命令

127.0.0.1:6379> slowlog get 2

1) 1) (integer) 1              # 唯一性(unique)的日志标识符

   2) (integer) 1480331288     # 被记录命令的执行时间点,以 UNIX 时间戳格式表示

   3) (integer) 43136          # 查询执行时间,以微秒为单位

   4) 1) "config"              # 执行的命令,以数组的形式排列,完整命令 config get slowlog*

      2) "get"

      3) "slowlog*"

2) 1) (integer) 0

   2) (integer) 1480331280

   3) (integer) 54158

   4) 1) "info"

127.0.0.1:6379> 


127.0.0.1:6379> slowlog len

(integer) 2


5.清除命令


127.0.0.1:6379> slowlog reset

OK

127.0.0.1:6379> slowlog get 2

(empty list or set)

127.0.0.1:6379> 


6.帮助

127.0.0.1:6379> help slowlog


  SLOWLOG subcommand [argument]

  summary: Manages the Redis slow queries log

  since: 2.2.12

  group: server