Redis篇 - 4. 慢查询、Pipeline

栏目: 数据库 · 发布时间: 5年前

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

1、慢查询

  1. 简介

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

    1. slowlog-max-len 慢查询队列长度(记录多少条慢查询,默认128)
    2. slowlog-log-slower-than 慢查询阀值(单位:微秒,默认10000)

      1. slowlog-log-slower-than=0, 记录所有命令
      2. slowlog-log-slower-than<0, 不记录任何命令
    3. 查看当前配置
127.0.0.1:6379> config get slowlog*
1) "slowlog-log-slower-than"
2) "10000"
3) "slowlog-max-len"
4) "128"
  1. 动态配置(还可以修改配置文件重启,但不建议,特别是没做持久化的redis)

    1. config set slowlog-max-len 100
    2. config set slowlog-log-slower-than 1000
  2. 慢查询命令

    1. slowlog get [n] : 获取慢查询队列
    2. slowlog len : 获取慢查询队列长度
    3. slowlog reset : 清空慢查询队列

2、Pipeline(流水线)

  1. 简介

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

    1. 为了解决批量处理而消耗的大量网络传输时间(因为redis执行是微妙级,大量操作更多消耗的是网络时间)
    2. 对比单次操作
命令 时间 数据量 特性
n个命令 n次网络 + n次执行 1条命令 原子性
1次pipeline(n个命令) 1次网络 + n次执行 n条命令 非原子性

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

安全之美

安全之美

Andy Oram、John Viega / 徐 波、沈晓斌 / 机械工业出版社华章公司 / 2011-4-28 / 65.00元

“这本深思熟虑的论文集(《安全之美》)帮助读者摆脱安全领域闪烁着欺骗光芒的心理恐惧,转而欣赏安全的微妙美感。本书描述了安全的阴和阳,以及引人注目的破坏性和闪亮光辉的建设者之间剑拔弩张的气氛。” ——Gary McGraw,Cigital公司CTO,《Software Security》及其他9本书的作者 大多数人不会太关注安全问题,直到他们的个人或商业系统受到攻击。这种发人深省的现象证......一起来看看 《安全之美》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具