面试题答案
一键面试开启Redis慢查询日志的方法
- 通过配置文件:在Redis的配置文件(redis.conf)中,找到并设置
slowlog-log-slower-than
为一个非负数(单位为微秒),例如slowlog-log-slower-than 10000
表示记录执行时间大于等于10毫秒的命令。同时可以设置slowlog-max-len
来指定慢查询日志的最大长度,如slowlog-max-len 1000
。修改完配置文件后,重启Redis服务使配置生效。 - 通过命令行:在Redis运行时,可以使用
CONFIG SET
命令动态设置。例如CONFIG SET slowlog-log-slower-than 10000
和CONFIG SET slowlog-max-len 1000
。这种方式无需重启Redis,但在Redis重启后配置会丢失,如果需要持久化配置,还需将设置写入配置文件。
slowlog-log-slower-than
配置参数
- 含义:该参数定义了执行时间的阈值(单位为微秒),用于判断一条命令是否属于慢查询。
- 作用:当Redis命令的执行时间大于或等于该阈值时,这条命令会被记录到慢查询日志中。通过合理设置该阈值,可以精准捕获系统中执行时间较长的命令,帮助开发人员定位性能瓶颈。比如设置为0,则会记录所有命令;设置为一个较大的值,只有执行时间很长的命令才会被记录。
slowlog-max-len
配置参数
- 含义:此参数规定了慢查询日志列表能容纳的最大项数。
- 作用:当慢查询日志中的记录数达到
slowlog-max-len
时,再产生新的慢查询记录,Redis会将最早的记录从日志列表中移除,以保证日志列表的长度不超过设定值。这有助于控制慢查询日志占用的内存空间,避免因日志无限增长而耗尽内存。同时,保留最近的慢查询记录,方便开发人员及时分析近期出现的性能问题。