百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

redis的慢查询日志及配置(redis如何定位慢查询)

mhr18 2024-11-13 11:03 20 浏览 0 评论

和很多关系型数据库(例如:MySQL)一样, Redis 也提供了慢查询日志记录,Redis 会把命令执行时间超过 slowlog-log-slower-than 的都记录在 Reids 内部的一个列表(list)中,该列表的长度最大为 slowlog-max-len 。需要注意的是,慢查询记录的只是命令的执行时间,不包括网络传输和排队时间

一、慢查询



在Redis中有两种修改配置的方法,一种是修改配置文件,另一种是使用config set命令动态修改。

例如下面使用config set命令将slowlog-log-slower-than设置为20000微秒,slowlog-max-len设置为1000

config set slowlog-log-slower-than 20000 
config set slowlog-max-len 1000 
config rewrite
获取慢查询日志 
命令:slowlog get [n] 
IP:6379> slowlog get 
1) 1) (integer) 1 
    2) (integer) 1513709400 
    3) (integer) 11 
    4) 1) "slowlog" 
       2) "get" 
2) 1) (integer) 0 
   2) (integer) 1513709398   
   3) (integer) 4 
   4) 1) "config" 
      2) "set"  
      3) "slowlog-log-slower-than" 
      4) "2" 
1)表示日志唯一标识符uid 
2)命令执行时系统的时间戳 
3)命令执行的时长,以微妙来计算 
4)命令和命令的参数 
获取慢查询日志列表当前的长度 
命令:slowlog len 
IP:6379> slowlog len 
(integer) 2 
慢查询日志重置 
命令:slowlog reset 
实际是对慢查询日志列表做清理操作。 
127.0.0.1:6379> slowlog len 
(integer) 6 
127.0.0.1:6379> slowlog reset 
OK
127.0.0.1:6379> slowlog len
(integer) 1 
#为什么还有1个,因为阈值设的比较小,slowlog reset就属于慢查询。

redisServer结构

struct redisServer { 
    // ... 
    //下一条慢查询日志的ID 
    long long slowlog_entry_id; 
    //保存了所有慢查询日志的链表 
    list *slowlog; 
    //服务器配置slowlog-log-slower-than 选项的值
    long long slowlog_log_slower_than; 
    //服务器配置slowlog-max-len 选项的值 
    unsigned long slowlog_max_len; 
    // ... 
};

slowlogEntry结构

typedef struct slowlogEntry { 
   //唯一标识符 
   long long id; 
   //命令执行时的时间,格式为UNIX 时间戳 
   time_t time; 
   //执行命令消耗的时间,以微秒为单位 
   long long duration; 
   //命令与命令参数 
   robj **argv; 
   //命令与命令参数的数量 
   int argc; 
} slowlogEntry; 

二、配置文件

Redis客户端相关配置

Redis安全相关配置

Redis复制相关配置


相关推荐

Dubai's AI Boom Lures Global Tech as Emirate Reinvents Itself as Middle East's Silicon Gateway

AI-generatedimageAsianFin--Dubaiisrapidlytransformingitselffromadesertoilhubintoaglob...

OpenAI Releases o3-pro, Cuts o3 Prices by 80% as Deal with Google Cloud Reported to Make for Compute Needs

TMTPOST--OpenAIisescalatingthepricewarinlargelanguagemodel(LLM)whileseekingpartnershi...

黄仁勋说AI Agent才是未来!但究竟有些啥影响?

,抓住风口(iOS用户请用电脑端打开小程序)本期要点:详解2025年大热点你好,我是王煜全,这里是王煜全要闻评论。最近,有个词被各个科技大佬反复提及——AIAgent,智能体。黄仁勋在CES展的发布...

商城微服务项目组件搭建(五)——Kafka、Tomcat等安装部署

1、本文属于mini商城系列文档的第0章,由于篇幅原因,这篇文章拆成了6部分,本文属于第5部分2、mini商城项目详细文档及代码见CSDN:https://blog.csdn.net/Eclipse_...

Python+Appium环境搭建与自动化教程

以下是保姆级教程,手把手教你搭建Python+Appium环境并实现简单的APP自动化测试:一、环境搭建(Windows系统)1.安装Python访问Python官网下载最新版(建议...

零配置入门:用VSCode写Java代码的正确姿

一、环境准备:安装JDK,让电脑“听懂”Java目标:安装Java开发工具包(JDK),配置环境变量下载JDKJava程序需要JDK(JavaDevelopmentKit)才能运行和编译。以下是两...

Mycat的搭建以及配置与启动(mycat2)

1、首先开启服务器相关端口firewall-cmd--permanent--add-port=9066/tcpfirewall-cmd--permanent--add-port=80...

kubernetes 部署mysql应用(k8s mysql部署)

这边仅用于测试环境,一般生产环境mysql不建议使用容器部署。这里假设安装mysql版本为mysql8.0.33一、创建MySQL配置(ConfigMap)#mysql-config.yaml...

Spring Data Jpa 介绍和详细入门案例搭建

1.SpringDataJPA的概念在介绍SpringDataJPA的时候,我们首先认识下Hibernate。Hibernate是数据访问解决技术的绝对霸主,使用O/R映射(Object-Re...

量子点格棋上线!“天衍”邀您执子入局

你是否能在策略上战胜量子智能?这不仅是一场博弈更是一次量子智力的较量——量子点格棋正式上线!试试你能否赢下这场量子智局!游戏玩法详解一笔一画间的策略博弈游戏目标:封闭格子、争夺领地点格棋的基本目标是利...

美国将与阿联酋合作建立海外最大的人工智能数据中心

当地时间5月15日,美国白宫宣布与阿联酋合作建立人工智能数据中心园区,据称这是美国以外最大的人工智能园区。阿布扎比政府支持的阿联酋公司G42及多家美国公司将在阿布扎比合作建造容量为5GW的数据中心,占...

盘后股价大涨近8%!甲骨文的业绩及指引超预期?

近期,美股的AI概念股迎来了一波上升行情,微软(MSFT.US)频创新高,英伟达(NVDA.US)、台积电(TSM.US)、博通(AVGO.US)、甲骨文(ORCL.US)等多股亦出现显著上涨。而从基...

甲骨文预计新财年云基础设施营收将涨超70%,盘后一度涨8% | 财报见闻

甲骨文(Oracle)周三盘后公布财报显示,该公司第四财季业绩超预期,虽然云基建略微逊于预期,但管理层预计2026财年云基础设施营收预计将增长超过70%,同时资本支出继上年猛增三倍后,新财年将继续增至...

Springboot数据访问(整合MongoDB)

SpringBoot整合MongoDB基本概念MongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和...

Linux环境下,Jmeter压力测试的搭建及报错解决方法

概述  Jmeter最早是为了测试Tomcat的前身JServ的执行效率而诞生的。到目前为止,它的最新版本是5.3,其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JM...

取消回复欢迎 发表评论: