redis运维中,对于数据的查询的监控十分重要。
什么是slowlog?
Slow log 是 Redis 用来记录查询执行时间的日志系统。
查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。
需要注意的是,slow log 保存在内存里面,读写速度非常快,不损害 Redis 的速度,但是会占用一定的宝贵的内存开销。
配置参数说明
设置slowlog
设置slowlog有两种方式:
# 执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录。
slowlog-log-lower-than 1000
#最多能保存多少条日志
slowlog-max-len 200
# 配置查询时间超过1毫秒的, 第一个参数单位是微秒
> config set slowlog-log-lower-than 1000
# 保存200条慢查记录
> config set slowlog-max-len 200
查看 slow log
可以使用 SLOWLOG GET 或者 SLOWLOG GET number 命令,前者打印所有 slow log ,最大长度取决于 slowlog-max-len 选项的值,而 SLOWLOG GET number 则只打印指定数量的日志。
redis> SLOWLOG LEN
(integer) 14
redis> SLOWLOG LEN
(integer) 14
redis> SLOWLOG RESET
OK
redis> SLOWLOG LEN
(integer) 0
tips:
可用版本:>= 2.2.12
时间复杂度:O(1)
返回值:取决于不同命令,返回不同的值。