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