让利用者更好地监督和找出在业务中一些慢redis操纵,找到更好的优化要领
在Redis中,关于慢查询有两个配置--慢查询最大超时时间和慢查询最大日志数。
1. 可以通过修改设置文件可能直接在交互模式下输入以下呼吁来配置慢查询的时间限制,当高出这个时间,查询的记录就会插手到日志文件中。
CONFIG SET slowlog-log-slower-than num
配置高出几多微妙的查询为慢查询,而且将这些慢查询插手到日志文件中,num的单元为毫秒,windows下redis的默认慢查询时10000微妙即10毫秒。
2. 可以通过配置最大数量限制日志中生存的慢查询日志的数量,此配置在交互模式下的呼吁如下:
CONFIG SET slowlog-max-len num
配置日志的最大数量,num无单元值,windows下redis默认慢查询日志的记录数量为128条。
呼吁的理会:
CONFIG 呼吁会使redis客户端自行去寻找redis的.conf 设置文件,找到对应的设置项举办修改。
以上的都是在交互模式下对redis举办设置,跟直接在.conf文件下修改设置行没有什么区别,都是可以实现以上的慢查询日志记录成果的,可是需要留意的是,在客户端的交互模式下输入CONFIG SET呼吁,只针对当前的会话来执行日志记录的配置,其他的会话(从头启动redis处事端),那么照旧老样子,凭据redis.conf文件的默认配置来执行?为什么会是这样的?因为redis是基于内存的,当一个退出一个客户端之后,所有的配置城市退回到默认版本。下次想配置慢查询日志设置,照旧需要从头键入呼吁。那么在.conf文件下中修改设置呢?这种步伐就相对一劳永逸了,因为每次处事端的启动都是以设置文件为基本的,所以slowlog日志会默认以.conf文件中的配置为尺度。
纵然这样,当做一些测试的时候,小我私家较量喜欢直接在交互模式下修改,交互模式下修改可以在当前的状态下和今后开启redis客户端(在处事端还没重启的条件下)城市执行慢查询日志的记录成果。而假如在.conf文件中修改设置项,那么需要从头启动redis处事器,来使这个成果生效,下次需要修改设置,还获得.conf文件来从头设置。
为更完整描写设置文件进程,我这里写一下如安在.conf文件中如何修改设置项
windows操纵系统下用记事本,linux操纵系统下用sublim text 可能vim打开。找到
对应下面就会找到设置选项了
那么接下来,如何查察慢查询呢?
又是进入交互模式下,呼吁很简朴。
SLOWLOG GET
(虽然也可以用小写,redis客户端对巨细写没有太严格的限制)
以windows为例查察记录如下
为了利便讲解,我配置超时时间为0毫秒,日志记录为1条
那么记录的中的1)2)3)4)别离暗示什么呢?
1)暗示日志独一标识符uid
2)呼吁执行时系统的时间戳
3)呼吁执行的时长,以微妙来计较
4)呼吁和呼吁的参数
做日志查询的时候,可以通过3)来查察是详细的呼吁运行时间(留意:再强调一次,时间的单元是微妙,但对付一个插入操纵来说,10000微妙,也就是10毫秒即0.01秒已经可以算是慢操纵了)哪些操纵出了问题。虽然这只限于测试利用,假如需要当业务呈现redis插入查询迟钝的事件,需要去查察redis生成的耐久型日志,这需要特别去设置一些内容,个中涉及到了集群和漫衍式,这里先点到为止。
Linux公社的RSS地点:https://www.linuxidc.com/rssFeed.aspx