Jedis之pipeline

简介: Jedis之pipeline

Pipeline

官方的说明是:starts a pipeline,which is a very efficient way to send lots of command and read all the responses when you finish sending them。简单点说pipeline适用于批处理。当有大量的操作需要一次性执行的时候,可以用管道。

示例:

Jedis jedis =  new Jedis(String,  int);

Pipeline p = jedis.pipelined();

p.set(key,value); //每个操作都发送请求给redis-server
p.get(key,value);

p.sync(); //这段代码获取所有的response

这里我进行了20w次连续操作(10w读,10w写),不用pipeline耗时:187242ms,用pipeline耗时:1188ms,可见使用管道后的性能上了一个台阶。看了代码了解到,管道通过一次性写入请求,然后一次性读取响应。也就是说jedis是:request response,request response,...;pipeline则是:request request... response response的方式。这样无需每次请求都等待server端的响应。

原文如下:http://www.blogjava.net/masfay/archive/2012/07/03/382080.html

目录
相关文章
|
1月前
|
设计模式 Java
Netty Pipeline详解!
本文深入剖析了 Netty 的管道(Pipeline)设计,Netty 是一个基于 Java NIO 的高性能网络应用框架。文章详细介绍了 Pipeline 的原理、源码及设计思维。Pipeline 作为事件处理链条,包含多个处理器,负责处理入站和出站事件。核心组件包括 `ChannelPipeline`、`ChannelHandler` 和 `ChannelHandlerContext`。Netty 通过链式结构和上下文管理实现了高效的事件传播机制,具备高吞吐量和低延迟的特点。本文还探讨了 Pipeline 的职责分离、链式处理、高内聚低耦合等设计原则,为高性能网络编程提供了宝贵的启示。
47 8
|
6月前
|
存储 NoSQL Java
Jedis
Jedis
62 0
|
6月前
|
NoSQL Java Redis
|
存储 分布式计算 NoSQL
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
现在有一批数据写入多台 Redis 相同 key 的队列中,需要消费 Redis 队列作为 Flink Source,为了提高可用性,下面基于 JedisPool 进行队列的消费。
1009 0
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
|
NoSQL Java Redis
Redis-12Redis 流水线( pipeline )
Redis-12Redis 流水线( pipeline )
106 0
|
弹性计算 NoSQL 安全
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
|
NoSQL Redis
Redis 的 pipeline对象是事务吗?
Redis 的 pipeline对象是事务吗?
249 0
|
缓存 NoSQL PHP
Redis 的 pipeline对象是干什么的?底层原理是什么?
Redis 的 pipeline对象是干什么的?底层原理是什么?
213 0
|
NoSQL Java Redis
|
NoSQL Java 中间件
Jedis基础详解
Jedis基础详解
108 0