美文网首页
Redis慢查询

Redis慢查询

作者: lv_shun | 来源:发表于2020-05-07 17:55 被阅读0次

在redis使用过程中,难免出现客户端超时,其中一个原因可能因为慢操作。
redis如何设置和查看慢查询呢?
首先了解下redis指令的生命周期

redis指令的生命周期

  1. 客户端发送指令
  2. 命令排队(单线程)
  3. 执行命令
  4. 返回结果

而慢查询发生在第3阶段,而如果被redis定义为慢查询,就会存储到redis中的慢查询队列中,这个队列时先进先出的,且队列保存在内存中,redis重启时清空。

慢查询两个配置参数:

  1. slowlog-log-slower-than: 设置慢查询预设的超时阈值,单位微秒。
  2. slowlog-max-len: 表示慢查询日志存储的条数上线。

slowlog-log-slower-than

设定慢查询的阈值,如果超过阈值就将命令记录到队列中。

127.0.0.1:6379> config get slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"

默认是10ms,可以根据项目qps设定。
如果想将所有命令都保存到慢查询队列中,可以将参数设置为0.
如果不需要慢查询保存到队列中,可以将参数设置< 0.

slowlog-max-len

设定慢查询的队列长度,如果超过队列长度,将移除最先入站的一条信息。

127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "128"

默认为128,可以根据实际情况设定,毕竟数据会保存在内存中。

设置参数方式

  1. 通过config配置文件中设置,但是需要重启redis。
  2. 通过命令方式设置
    • config set slowlog-log-slower-than 10000
    • config set slowlog-max-len 129
    • config rewrite

查看慢查询队列信息

  • slowlog get [n] :看到n条数据
  • slowlog len :查看队列数据长度
127.0.0.1:6379> slowlog get 1
1) 1) (integer) 4
   2) (integer) 1588411133
   3) (integer) 39218
   4) 1) "DEBUG"
      2) "OBJECT"
      3) "list1"
   5) "127.0.0.1:63084"
   6) ""
  1. id
  2. 时间戳
  3. 执行时长
  4. 命令信息
  5. 客户端信息

所以通过redis提供的配置和命令,我们可以很方便的查看客户端发来的慢查询并进行优化,避免客户端出现超时。

相关文章

  • 《redis开发与运维》——小功能大用处

    本章介绍了一下redis的功能: 慢查询分析 慢查询分析可以打印redis执行超时的命令日志。慢查询查询到的是执行...

  • redis的慢查询

    一 什么是redis的慢查询 慢查询并不是redis特有的,mysql也会提供慢查询日志供相关人员分析 先看看re...

  • redis自带的那些工具

    慢查询日志 1、设置慢查询配置 redis>config set slowlog-log-slower-than ...

  • redis慢查询

    当redis命令执行时间大于设置的时间,redis会将此命令标记为慢查询,并记录到慢查询d日志队列中 redis命...

  • Redis 如何分析慢查询操作?

    什么是慢查询 和mysql的慢SQL日志分析一样,redis也有类似的功能,来帮助定位一些慢查询操作。 Redis...

  • Redis 如何分析慢查询操作?

    什么是慢查询 和mysql的慢SQL日志分析一样,redis也有类似的功能,来帮助定位一些慢查询操作。 Redis...

  • Redis如何分析慢查询操作?

    什么是慢查询 和mysql的慢SQL日志分析一样,redis也有类似的功能,来帮助定位一些慢查询操作。 Redis...

  • Redis如何分析慢查询操作?

    什么是慢查询 和mysql的慢SQL日志分析一样,redis也有类似的功能,来帮助定位一些慢查询操作。 Redis...

  • Redis和Mongodb查看慢查询

    1. Redis查看慢查询: Redis 的慢查询日志功能用于记录执行时间超过给定时长的命令请求, 用户可以通过...

  • Redis学习--小功能大用处

    ·慢查询分析:通过慢查询分析,找到有问题的命令进行优化。·Redis Shell:功能强大的Redis Shell...

网友评论

      本文标题:Redis慢查询

      本文链接:https://www.haomeiwen.com/subject/hxiaghtx.html