• redis 慢查询、Pipeline


    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: 更多文章请关注微信公众号:浮话

  • 相关阅读:
    奇数阶魔方问题
    《DSP using MATLAB》示例9.3
    《DSP using MATLAB》示例9.2
    《DSP using MATLAB》示例9.1
    找个目标很重要
    《DSP using MATLAB》示例Example 8.30
    《DSP using MATLAB》示例Example 8.29
    《DSP using MATLAB》示例Example 8.28
    《DSP using MATLAB》示例Example 8.27
    《DSP using MATLAB》示例Example 8.26
  • 原文地址:https://www.cnblogs.com/jie-hu/p/10947603.html
Copyright © 2020-2023  润新知