Redis慢日志

一. 什么是Redis slowlog慢日志

  • Redis 的慢查询日志功能用于记录执行时间超过给定时长的命令请求, 用户可以通过这个功能产生的日志来监视和优化查询速度。
  • 慢查询日志由以下四个属性组成:标识ID,发生时间戳,命令耗时,执行命令和参数

二. 配置Slowlog

  • slowlog-log-slower-than
  • slowlog-max-len

2.1.1 配置文件

1 vim /data/redis.conf
2     slowlog-log-slower-than 10000
#
slowlog-log-slower-than参数就是预设阀值,单位是微秒,默认值是1000,如果一条命令的执行时间超过10000微妙,
那么它将被记录在慢查询日志中。slowlog-log-slower-than的值是0,则会记录所有命令。
3     slowlog-max-len 1000
#slowlog-max-len只是说明了慢查询日志最多存储多少条。Redis使用一个列表来存储慢查询日志
showlog-max-len就是列表的最大长度。当慢查询日志已经到达列表的最大长度时,又有慢查询日志要进入列表,
则最早插入列表的日志将会被移出列表,新日志被插入列表的末尾。

2.1.2 动态修改

- 设置slowlog-log-slower-than为10000微秒
    127.0.0.1:6379> CONFIG SET slowlog-log-slower-than 10000
    OK
- 设置slowlog-max-len为1000
    127.0.0.1:6379> CONFIG SET slowlog-max-len 1000
    OK

2.1.3查询操作

- 查看当前slowlog配置
127.0.0.1:6379> config get slow*
1) "slowlog-log-slower-than"
2) "10000"
3) "slowlog-max-len"
4) "1000"

- 查看slowlog总条数
127.0.0.1:6379> SLOWLOG LEN
(integer) 165

- 指定的条数可以使用SLOWLOG GET N命令
127.0.0.1:6379> SLOWLOG GET 1
 1) 1) (integer) 252390
    2) (integer) 1532524257
    3) (integer) 41202
    4) 1) "ZREMRANGEBYRANK"
       2) "price"
       3) "0"
       4) "-1"
    5) "127.0.0.1:58176"
    6) ""

- 重置slowlog
使用slowlog reset重置slow log。日志一旦被删除,将无法恢复。

 

    

 

posted @ 2018-07-25 22:11  闫世成  阅读(173)  评论(0编辑  收藏  举报