在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

redis慢查询指的是什么

115次阅读
没有评论

共计 2490 个字符,预计需要花费 7 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章将为大家详细讲解有关 redis 慢查询指的是什么,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

redis 慢查询指的是命令执行时长比较长的查询,其慢查询日志就是 Redis 服务端在命令执行前后计算每条命令的执行时长,当超过某个阈值是记录下来的日志,日志中记录了慢查询发生的时间,还有执行时长、具体什么命令等信息。

什么是慢查询?

慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下 Redis 命令执行的整个过程:

redis 慢查询指的是什么

发送命令命令排队命令执行返回结果

在慢查询的定义中,统计比较慢的时间段指的是命令执行这个步骤。没有慢查询,并不表示客户端没有超时问题,有可能网络传输有延迟,也有可能排队的命令比较多。

因为 Redis 中命令执行的排队机制,慢查询会导致其他命令的级联阻塞,所以当客户端出现请求超时的时候,需要检查该时间点是否有慢查询,从而分析出由于慢查询导致的命令级联阻塞。

什么是慢查询日志?

慢查询日志是 Redis 服务端在命令执行前后计算每条命令的执行时长,当超过某个阈值是记录下来的日志。日志中记录了慢查询发生的时间,还有执行时长、具体什么命令等信息,它可以用来帮助开发和运维人员定位系统中存在的慢查询。

如何获取慢查询日志?

可以使用 slowlog get 命令获取慢查询日志,在 slowlog get 后面还可以加一个数字,用于指定获取慢查询日志的条数,比如,获取 3 条慢查询日志:

slowlog get 3
1) 1) (integer) 6107
 2) (integer) 1616398930
 3) (integer) 3109
 4) 1) config 
 2) rewrite 
2) 1) (integer) 6106
 2) (integer) 1613701788
 3) (integer) 36004
 4) 1) flushall 
3) 1) (integer) 6105
 2) (integer) 1608722338
 3) (integer) 20449
 4) 1) scan 
 2) 0 
 3) MATCH 
 4) *comment* 
 5) COUNT 
 6) 10000

从上面的例子中,可以看出每一条慢查询日志都有 4 个属性组成:

唯一标识 ID 命令执行的时间戳命令执行时长执行的命名和参数如何获取慢查询日志的长度?

可以使用 slowlog len 命令获取慢查询日志的长度,比如:

slowlog len
(integer) 121

在上例中,当前 Redis 中有 121 条慢查询日志。

如何清理慢查询日志?

可以使用 slowlog reset 命令清理慢查询日志,比如:

slowlog len
(integer) 121
 slowlog reset
 slowlog len
(integer) 0

怎么配置慢查询的参数?

正如上面提到的,慢查询需要如下两个配置:

命令执行时长的指定阈值。存放慢查询日志的条数。

Redis 对应提供了两个参数:slowlog-log-slower-than 和 slowlog-max-len,接下来我们详细介绍一下这两个参数。

slowlog-log-slower-than

slowlog-log-slower-than 的作用是指定命令执行时长的阈值,执行命令的时长超过这个阈值时就会被记录下来。它的单位是微秒(1 秒 = 1000 毫秒 = 1000000 微秒),默认是 10000 微秒。如果把 slowlog-log-slower-than 设置为 0,将会记录所有命令到日志中。如果把 slowlog-log-slower-than 设置小于 0,将会不记录任何命令到日志中。

在实际的生产环境中,需要根据 Redis 并发量来调整该配置。因为 Redis 采用单线程响应命令,如果命令执行时间在 1000 微秒以上,那么 Redis 最多可支撑 OPS 不到 1000,所以对于高并发场景的 Redis 建议设置为 1000 微秒。

slowlog-max-len

slowlog-max-len 的作用是指定慢查询日志最多存储的条数。实际上,Redis 使用了一个列表存放慢查询日志,slowlog-max-len 就是这个列表的最大长度。当一个新的命令满足满足慢查询条件时,被插入这个列表中。当慢查询日志列表已经达到最大长度时,最早插入的那条命令将被从列表中移出。比如,slowlog-max-len 被设置为 10,当有第 11 条命令插入时,在列表中的第 1 条命令先被移出,然后再把第 11 条命令放入列表。

记录慢查询是 Redis 会对长命令进行截断,不会大量占用大量内存。在实际的生产环境中,为了减缓慢查询被移出的可能和更方便地定位慢查询,建议将慢查询日志的长度调整的大一些。比如可以设置为 1000 以上。

如何进行配置

在 Redis 中有两个修改配置的方法:

修改 Redis 配置文件。比如,把 slowlog-log-slower-than 设置为 1000,slowlog-max-len 设置为 1200:

slowlog-log-slower-than 1000
slowlog-max-len 1200

使用 config set 命令动态修改。比如,还是把 slowlog-log-slower-than 设置为 1000,slowlog-max-len 设置为 1200:

config set slowlog-log-slower-than 1000
 config set slowlog-max-len 1200
 config rewrite
OK

如果要 Redis 把配置持久化到本地配置文件,需要执行 config rewrite 命令。

总结

慢查询指的是命令执行时长比较长的查询。通过 slowlog get 命令获取慢查询日志;通过 slowlog len 命令获取慢查询日志的长度;通过 slowlog reset 命令清理慢查询日志。通过 slowlog-log-slower-than 配置命令执行时长的阈值;通过 slowlog-max-len 配置慢查询日志最多存储的条数

关于 redis 慢查询指的是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计2490字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产精品亚洲精品观看不卡 | 四虎电影免费观看网站 | 小明精品国产一区二区三区 | 久久精品久久精品久久精品 | 帮老师解开蕾丝奶罩吸乳网站 | 女人被做到高潮免费视频 | 国产成人无码精品久久久露脸 | 在线播放国产视频 | 精品亚洲永久免费精品 | 激情久久免费视频 | 亚洲av无码一区二区乱子仑 | 无码精品不卡一区二区三区 | 国内高清久久久久久 | 日韩av片无码一区二区三区不卡 | 久久精品国产72精品亚洲 | 久久精品国产一区二区三区日韩 | 久草国产视频 | 99免费在线观看 | 久在线观看视频 | 国产女人久久精品 | 日本激情视频网站w | 久草在线新视觉 | 成人免费视频视频在线不卡 | 国产a级一级久久毛片 | 永久天堂网 av手机版 | 久久精品午夜一区二区福利 | 久久久久亚洲av无码专区导航 | 粉嫩小泬无遮挡久久久久久 | 特级淫片aaaa毛片aa视频 | 99riav精品国产| 久久精品屋 | 国内精品久久久久久影院老狼 | 国产福利影院 | 午夜小视频在线播放 | 国产av无码专区亚洲av毛网站 | 上色天天综合网 | 国产在线拍揄自揄拍无码 | 99国产精品久久99久久久 | 久久久日韩精品一区二区三区 | 亚洲综合国产一区二区三区 | 草草免费观看视频在线 |