Redis 慢查询相关配置
一条查询的生命周期:
发送命令
命令排队
执行命令
返回结果
Redis 慢日志只统计 “执行命令” 步骤 3 的耗时,所以没有慢查询并不代表客户端没有超时问题。
二、慢日志配置参数
慢日志相关的参数有两个:
slowlog-log-slower-than 慢日志的阈值,单位是 微秒
(1秒=1000毫秒=1000000微秒)默认值 10000 (10 毫秒) 如果设置为 0 将会记录所有的命令,如果 < 0 则任何命令都不会记录。
slowlog-max-len Redis 的慢日志实际上是存在在列表中的,该参数即为列表的长度,可以存储多少条命令。 先进先出队列,如果慢查询较多的话,可能会丢失一部分,所以需要按照需求设定该值,或者搭建慢查询分析平台。
慢日志动态修改:
config set slowlog-log-slower-than 10000
config set slowlog-max-len 128
config rewrite
获取慢查询数量:
slowlog len
127.0.0.1:6379> slowlog len
(integer) 7
获取慢查询日志:
# n 指一次慢日志的数量
slowlog get n
127.0.0.1:6379> slowlog get 1
1) 1) (integer) 6
2) (integer) 1635833786
3) (integer) 41971
4) 1) "keys"
2) "*"
5) "127.0.0.1:33262"
6) ""
清空慢日志队列:
slowlog reset