【死磕 Redis】

您所在的位置:网站首页 redis如何查询 【死磕 Redis】

【死磕 Redis】

2024-07-17 13:43:27| 来源: 网络整理| 查看: 265

原文:https://www.cmsblogs.com/category/1391389927996002304 『chenssy』

我们知道 MySQL 提供了慢查询日志帮助我们定位系统存在的慢操作,同样在 Redis 里面也提供了类似的功能。所谓慢查询日志就是系统记录那些执行时间超过预设阀值的命令,包括发生时间、耗时、命令的详细信息等相关信息都记录下来。

慢查询的作用:通过慢查询分析,找到有问题的命令进行优化。

Redis 执行命令分为四个步骤:发送命令、命令排队、执行命令、返回结果。需要注意的是,慢查询只统计步骤 3 的时间,所以没有慢查询并不代表客户端没有超时问题。

Redis 慢查询有两个参数需要配置:

slowlog-log-slower-than:设置慢查询预设的超时阈值,单位是微秒slowlog-max-len:表示慢查询日志存储的条数

slowlog-log-slower-than

slowlog-log-slower-than 表示的是慢查询预设的超时阈值。它所阐述的意思是如果某条命令(如 key *) 执行”很慢“,执行时间超过了设置的阈值,那么这条命令将会被记录到慢查询日志中。

若设置 slowlog-log-slower-than = 0,则会记录所有命令若设置 slowlog-log-slower-than < 0,则不会记录任何命令

slowlog-max-len

Redis 会记录慢查询日志,但是会存储在哪里呢?实际上 Redis 会使用一个列表来存储慢查询日志,slowlog-max-len 就是该列表的最大长度。一个命令如果满足慢查询阈值条件则会加入到该列表来,但是如果该列表已经处于最大长度时,那么会删除最开始的一条记录,然后将最新的命令插入到末尾,所以慢查询日志列表是一个有限的先进先出列表。

在 Redis 中有两种修改配置的方法,一种是修改配置文件,另一种是使用 config set 命令动态修改。下面我们将利用 config set 命令对这两个命令配置下。

config set slowlog-log-slower-than 0 config set slowlog-max-len 1024 config rewrite

slowlog-log-slower-than 设置为 0 , slowlog-max-len 设置为 1024,config rewrite 表示将配置持久化到配置文件中。

获取慢查询日志 slowlog get [n]

参数 n 表示展示的条数,如下:

127.0.0.1:6379> slowlog get 1 1) 1) (integer) 3 2) (integer) 1582721437 3) (integer) 888 4) 1) "set" 2) "key1" 3) "value1" 5) "127.0.0.1:55842" 6) ""

可以看出返回的慢查询日志由 4 个属性组成:

1)日志的标识 id 2)发生的时间戳 3)命令耗时 4)执行的命令和参数

获取慢查询列表长度 slowlog len 清空日志列表 # 如果慢查询设置的阀值是0,那么再查询len的时候为1。 slowlog reset

最佳实践

慢查询功能可以有效地帮助我们找到 Redis 可能存在的瓶颈,但在实际使用过程中要注意以下几点:

slowlog-log-slower-than:默认是 10 毫秒,我们需要根据 Redis 的并发量调整该值。若我们采用默认,那么命令的执行时间要超过 10 毫米才会记录,如果命令的执行时间超过 10 毫秒,那么 Redis 的 QPS 连 100 都不到,因此对于高并发场景,建议将该值设置较小。slowlog-max-len:线上建议调大慢查询列表,记录慢查询时Redis会对长命令做阶段操作,并不会占用大量内存.增大慢查询列表可以减缓慢查询被剔除的可能,例如线上可设置为1000以上。慢查询只记录命令的执行时间,并不包括命令排队和网络传输时间.因此客户端执行命令的时间会大于命令的实际执行时间.因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此客户端出现请求超时时,需要检查该时间点是否有对应的慢查询,从而分析是否为慢查询导致的命令级联阻塞。 参考 《Redis 开发与运维》


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭