目录
MySQL 中存在慢查询,Redis 中也存在慢查询,Redis 的慢查询是命令执行超过设定阈值的查询就是慢查询。我们来整理一下。
慢查询
Redis 会记录命令执行时间超过设定阈值时间的命令,这里的慢查询说的是命令执行慢,并非是 I/O 慢。
一般情况下,我们都是通过客户端连接 Redis 服务器,然后发送命令给 Redis 服务器,Redis 服务器会把每个客户端发来的命令缓存入一个队列,然后逐个进行执行,最后再把结果返回给客户端。而我们这里的慢查询指的就是“执行命令”的那部分。而非网络 I/O 或者 命令排队的问题。
关于慢查询的配置
慢查询的配置有两条,分别如下:
slowlog-log-slower-than: 慢查询阈值,命令执行时超过该配置参数设定的值,则被认为是慢查询;
slowlog-max-len: 慢查询日志最大记录数,也就是 Redis 最多记录多少条慢查询的记录。慢查询的记录是一个 list 类型,如果最大允许记录 100 条,那么在记录第 101 条时,第 1 条记录就会被移除,始终保持慢查询的记录数为 100 条。
慢查询相关的命令
这里来看几条命令,这些命令都是与慢查询相关的命令,命令与配置的截图如下:
config 命令是用于配置的命令,不单单仅限于使用到慢查询中,由于我们会使用这两条命令,因此也在这里提一下。config 命令可以动态的获取和设置 Redis 服务器的部分参数,通常我们查看和设置参数是进入 redis.conf 这个文件中,但是在运行时可以通过 config 命令来快速的获取和设置参数。