MST

星途 面试题库

面试题:Redis慢查询日志如何开启及基本参数含义

请阐述在Redis中开启慢查询日志的方法,以及slowlog-log-slower-than和slowlog-max-len这两个配置参数的具体含义与作用。
46.9万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

开启Redis慢查询日志的方法

  1. 通过配置文件:在Redis的配置文件(redis.conf)中,找到并设置 slowlog-log-slower-than 为一个非负数(单位为微秒),例如 slowlog-log-slower-than 10000 表示记录执行时间大于等于10毫秒的命令。同时可以设置 slowlog-max-len 来指定慢查询日志的最大长度,如 slowlog-max-len 1000。修改完配置文件后,重启Redis服务使配置生效。
  2. 通过命令行:在Redis运行时,可以使用 CONFIG SET 命令动态设置。例如 CONFIG SET slowlog-log-slower-than 10000CONFIG SET slowlog-max-len 1000。这种方式无需重启Redis,但在Redis重启后配置会丢失,如果需要持久化配置,还需将设置写入配置文件。

slowlog-log-slower-than 配置参数

  • 含义:该参数定义了执行时间的阈值(单位为微秒),用于判断一条命令是否属于慢查询。
  • 作用:当Redis命令的执行时间大于或等于该阈值时,这条命令会被记录到慢查询日志中。通过合理设置该阈值,可以精准捕获系统中执行时间较长的命令,帮助开发人员定位性能瓶颈。比如设置为0,则会记录所有命令;设置为一个较大的值,只有执行时间很长的命令才会被记录。

slowlog-max-len 配置参数

  • 含义:此参数规定了慢查询日志列表能容纳的最大项数。
  • 作用:当慢查询日志中的记录数达到 slowlog-max-len 时,再产生新的慢查询记录,Redis会将最早的记录从日志列表中移除,以保证日志列表的长度不超过设定值。这有助于控制慢查询日志占用的内存空间,避免因日志无限增长而耗尽内存。同时,保留最近的慢查询记录,方便开发人员及时分析近期出现的性能问题。