资讯专栏INFORMATION COLUMN

Redis篇 - 4. 慢查询、Pipeline

trigkit4 / 577人阅读

摘要:如果有条命令,就会消耗次。的客户端和服务端可能部署在不同的机器上。流水线机制能改善上面这类问题,它能将一组命令进行组装,通过一次传输给,再将这组命令的执行结果按顺序返回给客户端。

1、慢查询

简介

慢查询顾名思义是将redis执行命令较慢的命令记录下来,redis处理慢查询时是将慢查询记录到慢查询队列中

慢查询配置

slowlog-max-len 慢查询队列长度(记录多少条慢查询,默认128)

slowlog-log-slower-than 慢查询阀值(单位:微秒,默认10000)

slowlog-log-slower-than=0, 记录所有命令

slowlog-log-slower-than<0, 不记录任何命令

查看当前配置

127.0.0.1:6379> config get slowlog*
1) "slowlog-log-slower-than"
2) "10000"
3) "slowlog-max-len"
4) "128"

动态配置(还可以修改配置文件重启,但不建议,特别是没做持久化的redis)

config set slowlog-max-len 100

config set slowlog-log-slower-than 1000

慢查询命令

slowlog get [n] : 获取慢查询队列

slowlog len : 获取慢查询队列长度

slowlog reset : 清空慢查询队列

2、Pipeline(流水线)

简介

redis执行一条命令有四个过程:发送命令、命令排队、命令执行、返回结果;整个过程是一个往返时间(RTT)。如果有n条命令,就会消耗n次RTT。Redis的客户端和服务端可能部署在不同的机器上。在两地的数据传输受网络速度的影响,消耗n次的RTT会增加网络成本,这个和Redis的高并发高吞吐特性背道而驰。Pipeline(流水线)机制能改善上面这类问题,它能将一组Redis命令进行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端。这样就只要一次的往返时间。

作用

为了解决批量处理而消耗的大量网络传输时间(因为redis执行是微妙级,大量操作更多消耗的是网络时间)

对比单次操作

命令 时间 数据量 特性
n个命令 n次网络 + n次执行 1条命令 原子性
1次pipeline(n个命令) 1次网络 + n次执行 n条命令 非原子性

PS: 更多文章请关注微信公众号:浮话

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37172.html

相关文章

  • Redis高级功能 - 查询日志

    摘要:提供了种数据结构但除此之外还提供了注入慢查询分析事务与脚本等附加功能这些功能可以在某些场景发挥很重要的作用慢查询分析许多存储系统如提供慢查询日志帮助开发与运维人员定位系统存在的慢操作所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间 Redis提供了5种数据结构,但除此之外,Redis还提供了注入慢查询分析,Redis Shell、Pipeline、事务、与Lua脚本、Bitm...

    LancerComet 评论0 收藏0
  • redis学习笔记(三)--Redis的功能

    摘要:用于为做基准性能测试。设置请求总量代表客户端的请求总量,默认为。连接事务和基本概念提供了简单的事务功能以及集成脚本来解决问题。事务提供简单的事务功能,将一组需要一起执行的命令放到和两个命令之间。将结果保存在中。命令添加添加成功返回。 慢查询 基本概念 慢查询日志记录命令执行前后的超时的执行时间。(只记录命令执行时间) 慢查询的两个配置 Redis提供了slowlog-log-slowe...

    _Zhao 评论0 收藏0
  • Redis常用操作整理

    摘要:本文主要整理一些在以往开发中用到过及可能用到的功能,没有涉及的功能暂不做整理。基本数据类型注意尽量使用而不是,减少网络请求时间。取消命令对所有的监视注意的事务不具备一致性,执行后,若事务中断,已经执行的部分不会回滚。 本文主要整理一些在以往开发中用到过及可能用到的功能,没有涉及的功能暂不做整理。 1.基本数据类型 1.1 String GET、SET、DEL SETNX、SET xx...

    Tony_Zby 评论0 收藏0
  • Redis批量执行(如list批量添加)命令工具 —— pipeline管道应用

    摘要:服务端处理命令,并将结果返回给客户端。这样的连接可能非常快在一个回路网络中,也可能非常慢在广域网上经过多个结点才能互通的两个主机。 前言 Redis使用的是客户端-服务器(CS)模型和请求/响应协议的TCP服务器。这意味着通常情况下一个请求会遵循以下步骤: (1)客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 (2)服务端处理命令,并将结...

    WelliJhon 评论0 收藏0
  • 阿里云Redis开发规范

    摘要:摘要本文介绍了在使用阿里云的开发规范,从键值设计命令使用客户端使用相关工具等方面进行说明,通过本文的介绍可以减少使用过程带来的问题。 摘要: 本文介绍了在使用阿里云Redis的开发规范,从键值设计、命令使用、客户端使用、相关工具等方面进行说明,通过本文的介绍可以减少使用Redis过程带来的问题。 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名...

    mozillazg 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<