关闭

Redis中PipeLine使用(一)

2494人阅读 评论(0) 收藏 举报
分类:

(一)简介 
Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行,如:get ‘0’,get ‘1’,get ‘2’

这里写图片描述

其执行过程如下图所示:

这里写图片描述

而管道(pipeline)可以一次性发送多条命令并在执行完后一次性将结果返回,pipeline通过减少客户端与redis的通信次数来实现降低往返延时时间,其过程如下图所示 
这里写图片描述

(二)普通方式与pipeline的比较

1.测试环境: 
redis版本2.4.15 
jedis版本2.2.1

2.测试代码 
分别向redis中插入100、500、1000、2000、5000、10000数据

  long start=System.currentTimeMillis();
        for (int i = 0; i <50000; i++) {
            redis.set(String.valueOf(i),String.valueOf(i));
        }
        long end=System.currentTimeMillis();
        logger.info("the total time is:"+(end-start));

        Pipeline pipe=redis.pipelined();
        long start_pipe=System.currentTimeMillis();
        for (int i = 0; i <50000; i++) {
            pipe.set(String.valueOf(i),String.valueOf(i));
        }
        pipe.sync();
        long end_pipe=System.currentTimeMillis();
        logger.info("the pipe total time is:"+(end_pipe-start_pipe));


测试结果对比: 

这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

python使用pipeline读写redis

http://blog.51cto.com/leizhu/1825733
  • xiaoxiansweety
  • xiaoxiansweety
  • 2017-12-12 16:30
  • 87

Redis中PipeLine使用(二)---批量get与批量set

批量查询的相关问题总结 再做测试之前首先向redis中批量插入一组数据 1-->1 2-->2 3-->3 4-->4 5-->5 6-->6123456123456 现在批量get数据 for (EntryString,String> entry :...
  • z69183787
  • z69183787
  • 2016-08-30 18:16
  • 3153

redis pipeline的使用

redis pipeline的使用  (2013-05-28 20:02:43) 转载▼ 标签:  redis   pipeline   appendcommand   c语言 ...
  • scut1135
  • scut1135
  • 2014-05-27 20:36
  • 2613

Redis pipeline在java中的运用

我们可以利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回,而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端。 通过pipeline方式当有大批量的操作时候。我们可以节省很多原来浪费在网络延迟的时间。需要注意到是用 ...
  • asartear
  • asartear
  • 2015-07-05 15:15
  • 1037

Redis的Python客户端redis-py

1. 安装 1. redis-py         a. 使用easy_install sudo easy_install redis         b. 源码安装git clone https://...
  • chosen0ne
  • chosen0ne
  • 2012-03-05 13:38
  • 44958

sklearn.pipeline.Pipeline类的用法

这一篇我会总结sklearn.pipeline.Pipeline。 1、sklearn.pipeline.Pipeline类 先给出官方的文档链接:http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.h...
  • LULEI1217
  • LULEI1217
  • 2015-11-02 10:13
  • 11392

sklearn 中的 Pipeline 机制

from sklearn.pipeline import Pipeline管道机制在机器学习算法中得以应用的根源在于,参数集在新数据集(比如测试集)上的重复使用。管道机制实现了对每一个步骤的流式化封装和管理(streaming workflows with pipelines)。注意:管道机制更像是...
  • lanchunhui
  • lanchunhui
  • 2016-01-15 09:28
  • 12864

redis的pipeline机制解析与注意事项

redis的pipeline机制   主要的两个函数: 1.redisvAppendCommand将命令拷贝到context的obuf里 2.redisGetReply: 1)从reply队列里面返回最前面的reply,如果队列为空,继续后面的操作 2)如果发现obuf中有数据...
  • cleanfield
  • cleanfield
  • 2014-07-29 18:30
  • 13043

Spring集成redis(pipeline方式)

1.maven添加spring、redis、log4j依赖properties设置 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>...
  • liuguidongliuguidong
  • liuguidongliuguidong
  • 2016-12-26 23:23
  • 1675

浅谈管道模型(Pipeline)

本篇和大家谈谈一种通用的设计与处理模型——Pipeline(管道)。Pipeline简介Pipeline模型最早被使用在Unix操作系统中。据称,如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明【1】。我认为管道的出现,所要解决的问题,...
  • yanghua_kobe
  • yanghua_kobe
  • 2012-05-12 21:17
  • 53239
    个人资料
    • 访问:9120126次
    • 积分:76256
    • 等级:
    • 排名:第24名
    • 原创:262篇
    • 转载:2813篇
    • 译文:3篇
    • 评论:788条
    文章分类
    最新评论