Redis -- 慢查询

客户端请求到Redis的一个 生命周期

何为慢查询?

   系统在命令执行前后计算每条命令的执行时间,当超过预定阀值时,记录命令的发生时间,耗时,命令的详细信息等。

Redis客户端执行一条命令分为发送命令、命令排队、命令执行、返回结果。慢查询只统计命令执行,所以没有慢查询并不代表客户端没有超时问题。

生命周期:

1客户端发送命令

2.因为redis是单线程 所以命令要排队执行

3.执行命令,当命令被列为慢查询 会被放入一个队列

4.返回执行结果

注意:

1慢查询只发生在第三阶段;

2.客户端超时不一定是慢查询的原因,但慢查询是客户端超时的一个可能因素;

 

慢查询的两个配置- 

  1. slowlog-max-len

1)先进先出队列

2)固定长度

3)保存在内存内


     2. slowlog-log-slower-than

1)慢查询阈值(单位:微秒)

2)slowlog-log-slower-than=0,记录所有命令

3)slowlog-log-slower-than<0,不记录任何命令

 

_____________________________________________________________________________________________

参数配置

慢查询有两个参数需要配置:

 

[ ] slowlog-log-slower-than

 

表示慢查询预设的超时阀值,单位是微妙(μs)

1s = 1000ms = 1_000_000μs

默认10000微秒,即10毫秒

执行超过这个时间的命令将被记录到慢查询日志

slowlog-log-slower-than = 0:表示记录所有命令。

slowlog-log-slower-than < 0:表示不记录

 

[ ] slowlog-max-len

 

表示慢查询日志的条数

默认为 128

Redis使用列表存储慢查询日志

当已经记录了128条慢查询,现在又来一条,最早记录的那条将被踢出,最新一条入列

 

慢查询命令:

 

运维经验:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值