最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

环球消息!5、Redis慢日志和key有效期

来源:博客园


(资料图片仅供参考)

一、Redis的慢日志

问题:如果有人反馈redis慢,如何进行排查?

系统资源情况查看慢日志情况

1.查看慢日志的默认配置

>CONFIG GET slow*                     #查看慢日志的配置                  1) "slowlog-max-len"2) "128"                                      #最多记录128个3) "slowlog-log-slower-than"4) "10000"                                  #默认超过10毫秒就会记录

2.设置慢日志的时间是1毫秒,查询超过1毫秒就为慢日志

>config set slowlog-log-slower-than 1000     #设置慢日志的时间是1毫秒,查询超过1毫秒就为慢日志> CONFIG GET slow*                                 #查看1) "slowlog-max-len"2) "128"3) "slowlog-log-slower-than"4) "1000"                                               #1毫秒为慢日志

3.使用Shell批量写入数据并获取,多写入些数据,方便我们查询数据大的时候产生慢日志# for i in $(seq -w 100000);do redis-cli -a redispwd set name${i} test${i}; redis-cli -a redispwd get name${i}; done 2>/dev/null

4.产生慢日志

>KEYS *                        #查询一次,当操作时间大于1毫秒,就会产生一条慢日志>KEYS * >KEYS * ....可以多查询几次,多获取几条慢日志

5.查询慢日志

>SLOWLOG get               #默认获取最近10条>SLOWLOG get 5            #获取5条>SLOWLOG len               #慢日志量,查看慢日志的条数>SLOWLOG reset             #清空慢日志

6.Slowlog各字段意思

127.0.0.1:6379> SLOWLOG get1) 1) (integer) 115                   #慢日志的id,从0开始,第115个id   2) (integer) 1668215297        #时间戳,慢日志产生的时间点,可以通过 date -d @1668215297   获取慢日志产生的时间   3) (integer) 69284                 #慢日志运行的时间69毫秒   4) 1) "keys"                          #产生慢日志的命令,一般是当数据量太多时候,运行keys *命令会比较慢      2) "*"   5) "127.0.0.1:60014"   6) ""

二、Redis的key的有效期

给Redis的key设置有效期,-1表示永久,-2代表Redis回收了(key已经自动删除)>set name test1            #默认设置的key是永久有效的>get name"test1">ttl name                      #查看key的状态,生命周期,-1表示永久有效(integer) -1>expire name 20           #方法1: 给key设置有效期,单位:秒,设置有效期是20s       >set name2 test02 EX 20       #方法2: 再创建key时候直接给key设置有效期:20s

关键词: