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天前
|
存储 NoSQL Java
Jedis客户端介绍
【10月更文挑战第12天】
|
16天前
|
设计模式 Java
Netty Pipeline详解!
本文深入剖析了 Netty 的管道(Pipeline)设计,Netty 是一个基于 Java NIO 的高性能网络应用框架。文章详细介绍了 Pipeline 的原理、源码及设计思维。Pipeline 作为事件处理链条,包含多个处理器,负责处理入站和出站事件。核心组件包括 `ChannelPipeline`、`ChannelHandler` 和 `ChannelHandlerContext`。Netty 通过链式结构和上下文管理实现了高效的事件传播机制,具备高吞吐量和低延迟的特点。本文还探讨了 Pipeline 的职责分离、链式处理、高内聚低耦合等设计原则,为高性能网络编程提供了宝贵的启示。
33 8
|
存储 分布式计算 NoSQL
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
现在有一批数据写入多台 Redis 相同 key 的队列中,需要消费 Redis 队列作为 Flink Source,为了提高可用性,下面基于 JedisPool 进行队列的消费。
982 0
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
|
缓存 NoSQL PHP
Redis 的 pipeline对象是干什么的?底层原理是什么?
Redis 的 pipeline对象是干什么的?底层原理是什么?
208 0
|
NoSQL Java Redis
|
NoSQL Java 中间件
Jedis基础详解
Jedis基础详解
103 0
|
NoSQL 数据可视化 Java
jedis-jedis 简介 | 学习笔记
快速学习 jedis-jedis 简介
106 0
|
NoSQL Java Redis
jedis-helloworld(jedis版) | 学习笔记
快速学习jedis-helloworld(jedis版)
|
缓存 监控 NoSQL
Spring-data-redis + Lettuce 如何使用 Pipeline
Spring-data-redis + Lettuce 如何使用 Pipeline
Spring-data-redis + Lettuce 如何使用 Pipeline
|
NoSQL 安全 Java
Jedis 客户端
Jedis 基于 Java 实现,是 shell 程序连接 Redis 数据库最常使用的工具。提供了比较全面的 Redis 命令的支持。
202 0