【Redis】慢查询日志

慢查询日志:

  就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息记录下俩。

Redis客户端执行一条命令分为4个步骤:

  1. 发送命令
  2. 命令排队
  3. 命令执行
  4. 返回结果

慢查询只统计步骤3的时间,所以没有慢查询并不代表客户端没有超时问题。

慢查询日志两个配置参数:

预设阀值?

slowlog-log-slower-than:预设阀值,单位是微妙,默认值是10000。

  slowlog-log-slower-than=0 会记录所有命令

  slowlog-log-slower-than<0 对于任何命令都不会记录

慢查询记录存放在哪里?

slowlog-max-len 慢查询记录最多存储多条

Redis使用了一个列表来存储慢查询日志,slowlog-max-len就是列表的最大长度。一个新命令满足慢查询条件时被插入这个列表中,当慢查询列表已处于最大长度时,最早插入的一个命令将从列表转给你移出。

两种修改配置方式:

方式一、修改配置文件:

# The following time is expressed in microseconds, so 1000000 is equivalent
# to one second. Note that a negative number disables the slow log, while
# a value of zero forces the logging of every command.
slowlog-log-slower-than 0

# There is no limit to this length. Just be aware that it will consume memory.
# You can reclaim memory used by the slow log with SLOWLOG RESET.
slowlog-max-len 10

方式二、在客户端交互模式下使用config set命令动态修改:

config set slowlog-log-slower-than 20000

config set slow-max-len 1000

config rewrite (Redis将配置持久化到本地配置文件,如果不写这句话,以上慢查询设置值准队当前的会话来说)

 

获取慢查询日志

slowlog get [n]  参数n指定条数

每个慢查询日志有4个属性:

  1. 标识id
  2. 发生时间戳
  3. 命令耗时
  4. 执行命令和参数

获取慢查询日志列表当前的长度:

slowlog len

慢查询日志重置:

实质上是清理慢查询日志列表

slowlog reset

 

 

 

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值