回答
Redis 的慢查询是一个记录查询执行时间超过指定阈值的查询命令的功能。它的工作原理是:
- 当一个命令的执行时间超过
slowlog-log-slower-than
设置的阈值时,该命令就会被记录到慢查询日志中。 - 日志中详细记录了慢查询发生的时间、执行时长、具体什么命令等信息。
它有两个参数:
slowlog-log-slower-than
:慢查询阈值,单位为微秒,当命令执行时间超过这个阈值时,命令会被记录到慢查询日志中。如果该值设置为负数,则会关闭 Redis 慢查询功能。slowlog-max-len
:慢查询日志长度,用于限制慢查询日志的大小,防止消耗过多内存。慢查询日志是一个先进先出队列,当新的慢查询产生且日志已满时,最旧的记录会被移除。
扩展
如何使用慢查询
Redis 提供了以下命令用于慢查询日志的操作:
SLOWLOG GET [n]
:查看最近的 n 条慢查询记录。不输入[n]
的值,则表示查询所有的慢查询日志。输出结果: