zoukankan      html  css  js  c++  java
  • redis的pipeline操作

    1、简单描述

      redis是一个CS模式的tcp的server,一个client发起了命令操作的请求,然后会阻塞等待服务端的处理和数据的返回。基本上一个命令请求就是2个报文,一去一回。如果多个命令,每次都是2个报文,这样网络传输的开销不小,在批量命令处理的时候,pipeline就可以减少这种网络开销而提升性能。假如client一个命令一个命令地发,一秒之内只能执行4个命令的,用了pipeline,一秒可以执行成千个甚至上万个命令。

    2、具体操作(基于4.0.1版本)

    1)pipeline命令:开启管道

    2)exec命令:执行管道中的命令

    3、小结

    1)管道的优点是多个命令可以一次性发送到服务端,服务端处理完一次性再返回所有结果;

    2)管道的缺点是如果命令太多,那么命令处理完的结果会先保存在服务端的缓存中然后再返回,会对服务端造成压力;

    3)管道的命令不是原子操作,就是说命令执行中可能会穿插其他client的命令操作,如果对于命令的执行顺序有强烈要求的,可能pipeline不支持,可以改用mulit事务。

    4)管道的性能比不用管道要高10倍以上。使用事务会比不使用慢一些。

  • 相关阅读:
    C# 利用DataTable批处理数据导入数据库
    人员基础信息一体化采集系统建设方案
    定时调用WebService方法同步数据
    进程间通信
    信号
    Linux进程基础
    来自硬件男的《信号与系统》整理笔记
    shell脚本编程(ubantu)
    Linux系统c语言开发环境
    Linux系统用户管理及VIM配置
  • 原文地址:https://www.cnblogs.com/guangye/p/7444933.html
Copyright © 2011-2022 走看看