用途:系统优化,将执行较慢的redis数据记录下来,然后对其进行优化。
1.慢查询日志的两个配置项
slowlog-log-slower-than
-
Redis 慢查询日志的时间阈值,单位微妙。
-
1) 值为正数,执行时间大于该值设置的微秒时才记录到慢日志中。默认 10000 微秒(0.01 秒)。
-
2) 值为负数,禁用慢查询日志。
-
3) 值为 0,所有命令都记录到慢日志中
redis-cli
> CONFIG SET slowlog-log-slower-than 10000
slowlog-max-len
-
慢查询日志长度,最小值为零。默认 128
-
当记录新命令并且当前慢日志已达到最大长度时,最旧的一条记录将被删除。
redis-cli
> config set slowlog-max-len 256
示例1:查看当前Redis慢日志中的所有条目
1redis-cli
2> SLOWLOG GET
此命令会返回一个数组,数组中的每个元素都是一个对象,包含了慢查询的详细信息,如ID、执行耗时、执行时间戳以及命令详情。
示例2:获取慢日志的特定数量条目
1redis-cli
2> SLOWLOG GET 5
这个命令将获取最近的5条慢查询记录。
示例3:查看当前慢日志中的记录数量
1redis-cli
2> SLOWLOG LEN
此命令返回当前慢查询日志中的记录总数。
示例4:动态调整慢查询记录的阈值(以微秒为单位)
1redis-cli
2> CONFIG SET slowlog-log-slower-than 10000
这个命令设置Redis只记录执行时间超过10000微秒(即10毫秒)的命令到慢日志中。
示例5:清理慢日志
1redis-cli
2> SLOWLOG RESET
执行此命令后,Redis将清空所有的慢查询日志记录。
示例6:获取当前慢查询记录阈值和最大长度配置
1redis-cli
2> CONFIG GET slowlog-log-slower-than
3> CONFIG GET slowlog-max-len