king

一文带你了解 Redis 的慢日志相关底层原理

king 运维技术 2022-11-19 487浏览 0

01、前言

一文带你了解 Redis 的慢日志相关底层原理

相信很多小伙伴在使用 Redis 的时候都知道 Redis 有相关慢日志的查询功能,并且多多少少都看过。那 Redis 底层到底是如果创建慢日志以及慢日志的结构是什么样子的呢?这篇文章就带大家认识一下。我们先看一张慢日志的截图

一文带你了解 Redis 的慢日志相关底层原理

使用slowlog get 2命令查看最近的两条慢日志信息,如上图,我们可以看到每条日志中包含的信息有六个部分组成,从上到下编号为 0-5,依次代表的意思是

0:日志的唯一编号 ID

1:命令执行的当前时间戳

2:命令执行的耗时时长,单位微妙

3:具体的执行命令和参数

4:客户端的 ip 和端口(4.0 版本以上才支持)

5:客户端名称(4.0 版本以上支持)

如上图所示,第一条慢日志的 ID 是 41,命令执行的时间戳是 1575729996,并且执行了 16129 微妙,具体执行的命令就是slowlog get,ip 和端口是27.38.56.88:8223,客户端的名称没有设置。

02、慢日志命令设置

查看命令

上面我们已经大概的知道的一条慢日志的格式,自然的我们可以想到的问题是一个命令执行多长时间,我们就可以认为是慢查询,以及慢日志最多能保存多少条。

我们可以通过config get slowlog-log-slower-than 命令来查看 Redis 的时长设置,以及通过config get slowlog-max-len 来查看最大慢日志条数。如下图。

一文带你了解 Redis 的慢日志相关底层原理

设置命令

上面我们使用config get 命令查看了时长设置和条数设置,相反的我们可以用config set来设置相关参数,如下图,我们先查看一下配置,然后再通过config set slowlog-log-slower-than 1000 命令和 config set slowlog-max-len 64 命令来设置具体的值:

一文带你了解 Redis 的慢日志相关底层原理

继续浏览有关 Redis 的文章
发表评论