您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
Redis slowlog 命令
发布时间:2021-11-11 22:31:24编辑:雪饮阅读()
Redis slowlog 是 Redis 用来记录查询执行时间的日志系统。
查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。
另外,slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。
返回值
取决于不同命令,返回不同的值。
实例:
个人理解:子命令get用于获取slowlog日志,get后面的参数用于指定获取的条数
先产生慢查询:
127.0.0.1:6379> eval "for i=1000000,1,-1 do print(i) end" 0
(nil)
(0.91s)
该命令多执行几次就可以产生很多慢查询。
然后查看如5条慢查询:
127.0.0.1:6379> slowlog get 5
1) 1) (integer) 2
2) (integer) 1636624929
3) (integer) 911548
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
2) 1) (integer) 1
2) (integer) 1636624853
3) (integer) 917905
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
3) 1) (integer) 0
2) (integer) 1636624848
3) (integer) 91097
4) 1) "eval"
2) "for i=100000,1,-1 do print(i) end"
3) "0"
因为实际只有3条,所以只出了3条。
查询2条慢查询:
127.0.0.1:6379> slowlog get 2
1) 1) (integer) 2
2) (integer) 1636624929
3) (integer) 911548
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
2) 1) (integer) 1
2) (integer) 1636624853
3) (integer) 917905
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
get后不带参数,则查询全部慢查询;
127.0.0.1:6379> slowlog get
1) 1) (integer) 2
2) (integer) 1636624929
3) (integer) 911548
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
2) 1) (integer) 1
2) (integer) 1636624853
3) (integer) 917905
4) 1) "eval"
2) "for i=1000000,1,-1 do print(i) end"
3) "0"
3) 1) (integer) 0
2) (integer) 1636624848
3) (integer) 91097
4) 1) "eval"
2) "for i=100000,1,-1 do print(i) end"
3) "0"
查看当前慢查询的日志数量:
127.0.0.1:6379> slowlog len
(integer) 3
使用命令 SLOWLOG RESET 可以清空 slow log:
127.0.0.1:6379> slowlog reset
OK
127.0.0.1:6379> slowlog len
(integer) 0
关键字词:Redis,slowlog,命令
上一篇:Redis Slaveof 命令