6 Redis的慢查询配置

1、redis的命令执行流程

在这里插入图片描述
redis的慢查询只针对步骤3
默认情况下,慢查询的阈值是10ms

  1. 在配置文件中进行配置
//这个参数的单位为微秒
//如果将这个值设置为负数,则会禁用慢日志功能
//如果将其设置为0,则会强制记录每个命令
slowlog-log-slower-than 10000
  1. 超过指定时间的查询会记录到日志中
//表示在慢查询日志里可以记录的日志条数,当慢查询日志的数量已经达到该参数、新的慢查询日志到达时,就会把最老的一条日志删除
slowlog-max-len 128

2、慢查询实战

  1. 修改redis.conf配置文件
slowlog-log-slower-than 1
slowlog-max-len 100

如果没修改配置文件也可以用命令修改(二选一即可)

127.0.0.1:6379> config set slowlog-log-slower-than 1
OK
127.0.0.1:6379> config set slowlog-max-len 100
OK
127.0.0.1:6379> config rewrite	#config rewrite意思是将上面两条配置写入配置文件
OK
  1. 启动redis服务器
[root@localhost redis-6.2.12]# redis-server redis.conf 
[root@localhost redis-6.2.12]# ss -utpln | grep 6379
tcp    LISTEN     0      511    127.0.0.1:6379                  *:*                   users:(("redis-server",pid=1364,fd=6))
tcp    LISTEN     0      511       [::1]:6379               [::]:*                   users:(("redis-server",pid=1364,fd=7))
  1. 配置好两个参数后,使用slowlog get命令观察慢查询
[root@localhost ~]# redis-cli
127.0.0.1:6379> set name003 beibei
OK
127.0.0.1:6379> get name003
"beibei"
127.0.0.1:6379> SLOWLOG get
1) 1) (integer) 22) (integer) 16873163943) (integer) 124) 1) "get"2) "name003"5) "127.0.0.1:47312"6) ""
2) 1) (integer) 12) (integer) 16873163893) (integer) 374) 1) "set"2) "name003"3) "beibei"5) "127.0.0.1:47312"6) ""
3) 1) (integer) 02) (integer) 16873162123) (integer) 14374) 1) "COMMAND"5) "127.0.0.1:47312"6) ""

解释:

1) 1) (integer) 22) (integer) 16873163943) (integer) 124) 1) "get"2) "name003"5) "127.0.0.1:47312"6) ""

1️⃣:一行是慢查询日志ID
2️⃣:二行是该命令运行的时间戳
3️⃣:三行是该命令的运行时长
4️⃣5️⃣:四五行是返回的命令及对应的参数
6️⃣:六行是执行该命令客户端地址
7️⃣:七行是客户端名称,没有即为空

注意:慢查询存在了slowlog的内存队列中,是链表结构

slowlog get		#返回所有慢查询日志
slowlog get n	#获取指定第n条慢查询的日志
slowlog len		#获取慢查询日志的长度
slowlog reset	#清空慢查询日志

3、慢查询原理&推荐方案

建议:

slowlog-max-len 1000	#生产环境建议配置在1000以上,否则你想看的记录可能别删除了
slowlog-log-slower-than 1	#单位是微秒,如果是高并发,高流量的系统的系统建议1毫秒

所谓的多线程,只是在IO的部分,内部执行命令还是单线程执行的,是串行的.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/196113.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构【DS】树与二叉树的应用

哈夫曼树 树的带权路径长度最小的二叉树WPL 路径长度【边数】 * 结点权值n个叶结点的哈夫曼树共有 2n-1 个结点 哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树对同一组权值,可能存在不同构的多棵哈夫曼树,但树的带权路径长度最小且唯一哈夫曼树…

斯坦福机器学习 Lecture2 (假设函数、参数、样本等等术语,还有批量梯度下降法、随机梯度下降法 SGD 以及它们的相关推导,还有正态方程)

假设函数定义 假设函数,猜一个 x->y 的类型,比如 y ax b,随后监督学习的任务就是找到误差最低的 a 和 b 参数 有时候我们可以定义 x0 1,来让假设函数的整个表达式一致统一 如上图是机器学习中的一些术语 额外的符号&#xf…

基于灰色神经网络的预测算法——订单需求预测

大家好,我是带我去滑雪! 灰色系统理论的不确定性处理与神经网络的非线性建模相结合,有望更好地处理实际问题中的不确定性和复杂性。本期使用灰色神经网络实现预测冰箱订单需求。 一、问题背景与模型建立 (1)灰色理论…

测试Bard和ChatGPT关于双休的法规和推理

Bard是试验品,chatgpt是3.5版的。 首先带着问题,借助网络搜索,从政府官方网站等权威网站进行确认,已知正确答案的情况下,再来印证两个大语言模型的优劣。 想要了解的问题是,在中国,跟法定工作…

达标进度条

1.效果 1. 2.代码与使用 1.自定义组合控件 kotlin import android.annotation.SuppressLint import android.content.Context import android.graphics.drawable.Drawable import android.util.AttributeSet import android.view.Gravity import android.view.LayoutInflat…

进程之理解进程的概念

你必须非常努力,才能看起来毫不费力。文章目录 进程的基本概念描述进程——pcbtest_struct pcb的一种task_struct 内容分类 组织进程查看进程通过系统调用获取进程标示符总结 进程的基本概念 课本概念:进程是一个执行实列,正在执行的程序等。…

C语言——1.入门须知

文章目录 1.C语言的简要概述1.1.C语言类比自然语言1.2.计算机语言的发展1.3.C语言在当今的地位1.4.C语言的优势和劣势1.4.1.C语言的优势1.4.2.C语言的劣势 2.C语言的应用场景3.C语言的学习路径3.1.学习目的3.2.学习路径3.3.学习资源3.3.1.推荐书籍3.3.2.推荐课程3.3.3.推荐题库…

Codeforces Round 910 (Div. 2)(D~F)

1898D - Absolute Beauty 题意:给定长度为n的数组a和b,定义b数组的价值为,现可以交换一次b数组中的任意两个元素,求b数组的价值最大值。 思路:绝对值问题可以放在数轴上去解决。绝对值即为区间长度 观察上述三种情况&…

《微信小程序开发从入门到实战》学习十九

3.3 开发创建投票页面 3.3.7 wx:for列表渲染 接下来为创建的投票页面添加一个“添加选项”的功能。需要用户输入文字,应该使用input组件。头投票的数量是不确定的,面对不确定数量的组件的情况时,可以使用wx:for属性对组件进行列表渲染。 使…

【腾讯云 HAI域探秘】——即时职场生存指南小游戏以及【自行搭建Stable Diffusion图片AI绘制 | ChatGLM2-6B AI进行智能对话 | Pytorch2.0 AI框架视频处理】

利用HAI的ChatGLM2 6B做一个即时对话小游戏 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了更强大的性能、更长的上下文、更高效的推理,…

git使用及常用命令

在初入公司中,若使用的是git管理工具,需要做以下步骤: 1,常用命令在: (1),git config --global user.name xxx(名字) //若不设置 那么下次提交代码时会报错 其次该设置名字和…

【运维篇】Redis常见运维命令详解

文章目录 1. 前言2. 连接管理命令详解2.1 AUTH命令2.2 PING命令2.3 SELECT命令2.4 QUIT命令 3. 服务器管理命令详解3.1 FLUSHALL命令3.2 SAVE/BGSAVE命令3.3 SHUTDOWN命令 4. 安全管理命令详解4.1 CONFIG命令4.1.1 CONFIG SET命令用法4.1.2 CONFIG GET命令用法 4.2 AUTH命令 5.…