zoukankan      html  css  js  c++  java
  • redis 简单整理——pipeline[十]

    前言

    简单整理一下pipeline。

    正文

    1)发送命令

    2)命令排队

    3)命令执行

    4)返回结果

    其中1)+4)称为Round Trip Time(RTT,往返时间)。

    pipeline它能将一组Redis命令进 行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端

    举个例子:

    echo -en '*3
    $3
    SET
    $5
    hello
    $5
    world
    *2
    $4
    incr
     n$7
    counter
    ' | redis-cli --pipe
    

    执行模型如下:

    与原生命令的差异:

    ·原生批量命令是原子的,Pipeline是非原子的。

    ·原生批量命令是一个命令对应多个key,Pipeline支持多个命令。

    ·原生批量命令是Redis服务端支持实现的,而Pipeline需要服务端和客户 端的共同实现。

    实践注意的地方:

    Pipeline虽然好用,但是每次Pipeline组装的命令个数不能没有节制,否 则一次组装Pipeline数据量过大,

    一方面会增加客户端的等待时间,另一方 面会造成一定的网络阻塞,可以将一次包含大量命令的Pipeline拆分成多次 较小的Pipeline来完成。 Pipeline只能操作一个Redis实例,但是即使在分布式Redis场景中,也可 以作为批量操作的重要优化手段

    下一节Lua脚本

  • 相关阅读:
    mongo备份&恢复
    logstash参数配置
    elasticsearch索引自动清理
    Linux将公网ip映射到局域网ip
    普通用户创建ssh无密码访问
    软考介绍
    安装ffmpeg
    Hadoop实战-Flume之自定义Sink(十九)
    Hadoop实战-Flume之自定义Source(十八)
    Hadoop实战-Flume之Sink Load-balancing(十七)
  • 原文地址:https://www.cnblogs.com/aoximin/p/15164673.html
Copyright © 2011-2022 走看看