Redis - redis slowlog配置说明

导语

类似于MySQL,Redis服务也有slow log,用来记录查询执行时间,
这里的执行时间仅仅指的是查询命令所消耗的时间,而不包括客户端响应等。
Redis的slow log是保存在内存中的,所以读写速度非常快,
不用担心因为开启slow log而对redis造成别的问题

配置

如果系统没有禁止`config`命令,则我们可以用config命令来操作,
而不用通过修改配置文件然后重启服务的方式

首先查看系统是否开启了slow log

## 如果没有禁止config则如下
config get slowlog*

## 如果禁止了config 则查看配置文件是否配置过
cat /usr/local/redis/conf/6379.conf |grep slowlog

config 配置

##  配置查询时间超过1毫秒的, 第一个参数单位是微秒
##  保存200条慢查记录
config set slowlog-log-lower-than 1000
config set slowlog-max-len 200

配置文件配置

该方式需要重启redis服务

## vim /usr/local/redis/conf/6379.conf

slowlog-log-lower-than 1000
slowlog-max-len 200

验证

如果没有禁止config命令,可以通过如下查看 slow log的配置

config get slow*
config get slowlog-log-slower-than
config get slowlog-max-len

具体的实例验证

# 查看当前总的slowlog个数
192.168.254.50:6379> slowlog len
(integer) 1

# 查看所有slowlog
192.168.254.50:6379> slowlog get
1) 1) (integer) 0
   2) (integer) 1486526083
   3) (integer) 150744
   4) 1) "ZADD"
      2) "FOLLOWER:2032177448"
      3) "1.486526083072E12"
      4) "2032442937"

# 查看指定个数的slowlog,这里只有1个,故只查询1条
192.168.254.50:6379> slowlog get 1
1) 1) (integer) 0
   2) (integer) 1486526083
   3) (integer) 150744
   4) 1) "ZADD"
      2) "FOLLOWER:2032177448"
      3) "1.486526083072E12"
      4) "2032442937"

# reset slow log 
192.168.254.50:6379> SLOWLOG reset
OK
192.168.254.50:6379> slowlog len
(integer) 0
192.168.254.50:6379> slowlog get
(empty list or set)
192.168.254.50:6379>

参考

http://redisdoc.com/server/slowlog.html

http://roidba.blog.51cto.com/12318731/1877252

扩展

支持扩展安装特定redis版本的自动化脚本

《Redis - redis slowlog配置说明》 公众号: DailyJobOps

    原文作者:全栈运维
    原文地址: https://www.jianshu.com/p/ded64a635edc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞