您的位置:首页 > 数据库 > Redis

redis slowlog配置说明

2017-02-08 18:40 429 查看

导语

类似于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 slowlog配置说明



公众号: DailyJobOps
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis slowlog