美文网首页
Redis之Pipeline

Redis之Pipeline

作者: 煮茶boy | 来源:发表于2018-10-07 21:49 被阅读0次

    Pipeline: 管道,流水线

    一条命令的生命周期有4个阶段: 发送命令->命令排队->命令执行->返回结果,其中发送命令和返回结果称为往返时间(RTT),有些Redis命令是没有批量操作,因此如果Redis客户端和Redis服务端的物理距离很大时,如果命令不能批量操作,会导致命令请求次数过多,并且在往返时间中花费过多导致Redis在单位时间内处理的命令数量减少过多,与Redis的高性能相违背.

    Pipeline能改善上述问题,Redis将一组Redis命令进行组装,通过一次往返传递给Redis服务器,再将这组命令的执行结果按照顺序返回给客户端.

    • redis-cli的--pipe选项实际上就是使用Pipeline机制将命令组装.
    • 目前大部分高级语言的Redis客户端都支持Pipeline
    • Pipeline执行速度一般比逐条执行速度要快,客户端和服务端的网络延时越大,Pipeline效果越明显
    原生批量命令和Pipeline的区别:
    1. 原生批量命令是原子的,Pipeline是非原子的
    2. 原生批量命令是一个命令对应多个键,Pipeline支持多个命令
    3.原生批量命令是Redis服务端实现的,而Pipeline是Redis客户端和服务器端共同实现的
    
    • Pipeline只能操作一个Redis实例

    相关文章

      网友评论

          本文标题:Redis之Pipeline

          本文链接:https://www.haomeiwen.com/subject/izjraftx.html