浅谈Redis之慢查询日志

栏目: 数据库 · 发布时间: 6年前

首先我们需要知道 redis 的慢查询日志有什么用?日常在使用redis的时候为什么要用慢查询日志?

第一个问题:

慢查询日志是为了记录执行时间超过给定时长的redis命令请求

第二个问题:

让使用者更好地监视和找出在业务中一些慢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打开。找到

浅谈Redis之慢查询日志

对应下面就会找到配置选项了

浅谈Redis之慢查询日志

浅谈Redis之慢查询日志

那么接下来,如何查看慢查询呢?

又是进入交互模式下,命令很简单。

SLOWLOG GET

(当然也可以用小写,redis客户端对大小写没有太严格的限制)

以windows为例查看记录如下

浅谈Redis之慢查询日志

为了方便解说,我设置超时时间为0毫秒,日志记录为1条

那么记录的中的1)2)3)4)分别表示什么呢?

1)表示日志唯一标识符uid

2)命令执行时系统的时间戳

3)命令执行的时长,以微妙来计算

4)命令和命令的参数

做日志查询的时候,可以通过3)来查看是具体的命令运行时间(注意:再强调一次,时间的单位是微妙,但对于一个插入操作来说,

10000微妙,也就是10毫秒即0.01秒已经可以算是慢操作了)哪些操作出了问题。当然这只限于测试使用,如果需要当业务出现redis

插入查询缓慢的事件,需要去查看redis生成的持久型日志,这需要额外去配置一些内容,其中涉及到了集群和分布式,这里先点到为止。

笔者希望自己往后有更深刻的认识的时候再来写一遍相关的文章。


以上所述就是小编给大家介绍的《浅谈Redis之慢查询日志》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码本色:用编程模拟自然系统

代码本色:用编程模拟自然系统

Daniel Shiffman / 周晗彬 / 人民邮电出版社 / 2014-10 / 99.00元

本书介绍了用计算机模拟自然系统涉及的编程策略与技术,涵盖了基本的数学和物理概念,以及可视化地展示模拟结果所需的高级算法。读者将从构建基本的物理引擎开始,一步一步地学习如何创建智能移动的物体和复杂的系统,为进一步探索生成设计奠定基础。相关的知识点包括力、三角、分形、细胞自动机、自组织和遗传算法。本书的示例使用基于Java的开源语言及开发环境Processing编写。本书网站http://www.na......一起来看看 《代码本色:用编程模拟自然系统》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码