Redis慢查询问题的排查和解决

ops/2024/10/21 9:48:29/

1.排查慢查询问题

(1)设置慢查询参数
slowlog-log-slower-than 10000   --设置慢查询的时间阀值,单位微秒
slowlog-max-len 128                   --设置慢查询FIFO队列的长度

(2)模拟大KEY

public class RedisExample {public static void main(String[] args) {Jedis jedis = new Jedis("localhost", 6379);for(int index = 0; index < 2; index++){StringBuilder name = new StringBuilder();for(int i = 0 ; i < 1000000; i++){name.append("testtesttesttesttesttesttesttesttesttest");}System.out.println("name"+index+" length="+name.length()/1024/1024+"mb");jedis.set("name"+index, name.toString());}// 关闭Jedis对象jedis.close();}
}

Connected to the target VM, address: '127.0.0.1:63883', transport: 'socket'
name0 length=38mb
name1 length=38mb

(3)查出慢查询的操作slowlog
127.0.0.1:6379> slowlog get 10   --查出最近的10条慢查询日志
1) 1) (integer) 2   ---序号
   2) (integer) 1713628306   --时间戳
   3) (integer) 26000   -- 操作花费的时间,单位为微秒
   4) 1) "get"     --操作类型
      2) "name0"   -- KEY
   5) "127.0.0.1:60078"
   6) ""
2) 1) (integer) 1
   2) (integer) 1713628143
   3) (integer) 14000
   4) 1) "SET"
      2) "name0"
      3) "testtesttesttesttestt
sttesttesttesttesttesttesttestt
es)"

(4)查询KEY占用的内存

127.0.0.1:6379> memory usage name0
(integer) 41943088   --单位是字节

2.解决慢查询问题

(1)将大KEY按业务类型拆成小KEY

(2)增加集群的数量,比如读写分离,添加更多的备节点

(3)大KEY打散到多个节点,不要集中到一台机器


http://www.ppmy.cn/ops/5597.html

相关文章

安居水站:水站经营秘籍:年入30万不是梦。水站创业指南。

在这个快节奏的社会里&#xff0c;初创企业家们总是在寻找一条明路&#xff0c;以在竞争激烈的市场中立足。为了帮助他们更好地实现这一目标&#xff0c;我根据经验决定制定一份水站经营指导手册。这份手册将详细阐述如何从零起步&#xff0c;如何运营&#xff0c;如何进行市场…

多语言vue-i18n (vue2,uniapp)

安装vue-i18n npm install vue-i18n8 --save // npm install vue-i18n–save 9版本需要vue3.0 // 在vue2环境下&#xff0c;默认安装 npm install vue-i18n 的版本是 vue-i18n9.2.2&#xff0c; // 报错信息里提示这个版本要求是vue3&#xff0c;所以我们安装适合vue2版本的vu…

OJ:数字三角形(搜索)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;每日一练 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f337;1.问题描述&#xff1a; ⛳️题目描述&#xff1a; 示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路…

【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程

文章目录 一、框架介绍1、框架简介和版本选择2、主要新特性 二、安装步骤1、下载并运行Composer-Setup.exe2、安装TP前切换镜像3、安装稳定版4、测试运行 一、框架介绍 1、框架简介和版本选择 Thinkphp是一种基于php的开源web应用程序开发框架ThinkPHP框架&#xff0c;是免费开…

Swift中协程与异步编程

在Swift中&#xff0c;协程(coroutine)是一种实现异步编程的机制。协程可以在代码中暂停和恢复执行&#xff0c;从而允许在需要等待某些操作完成时&#xff0c;将控制权交还给调用方&#xff0c;在操作完成后再恢复执行。 在Swift 5.5之前&#xff0c;实现协程需要使用第三方库…

【Hadoop大数据技术】——Sqoop数据迁移(学习笔记)

&#x1f4d6; 前言&#xff1a;在实际开发中&#xff0c;有时候需要将HDFS或Hive上的数据导出到传统关系型数据库中&#xff08;如MySQL、Oracle等&#xff09;&#xff0c;或者将传统关系型数据库中的数据导入到HDFS或Hive上&#xff0c;如果通过人工手动进行数据迁移的话&am…

ARM-学习day8

使用温湿度采集&#xff0c;控制灯&#xff0c;风扇和马达. lic.h #ifndef __IIC_H__ #define __IIC_H__#include"stm32mp1xx_gpio.h" #include"stm32mp1xx_rcc.h"#define SET_SDA_OUT do{GPIOF->MODER & (~(0x3 << 30)); \GPIOF->M…

移植speexdsp到OpenHarmony标准系统⑤

七、Speexdsp功能分析 将speexdsp加入openharmony编译体系后&#xff0c;能成功编译出来动态链接库和测试用的可执行文件&#xff0c;并不代表移植三方库成功。还要在开发板上运行测试其功能是否正常。 speexdsp核心库分析 1.库实现方式 编程语言&#xff1a;C原生平台&…