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

目录
相关文章
|
2月前
|
NoSQL 网络协议 Java
【赵渝强老师】Redis的管道Pipeline
Redis采用客户端-服务器模型和请求/响应协议,通常一个请求包括客户端发送查询请求并等待服务端响应。为了提高性能,Redis引入了管道PipeLine技术,可以一次性发送多条命令并一次性返回结果,减少客户端与服务器间的通信次数,从而降低往返延迟。示例代码展示了普通命令和管道命令在插入1万条数据时的性能差异,后者执行时间显著缩短。视频讲解提供了更详细的解释。
106 1
|
8月前
|
NoSQL Java Redis
redis-学习笔记(Jedis 前置知识)
redis-学习笔记(Jedis 前置知识)
70 1
|
8月前
|
Java Redis
redis-学习笔记(Jedis list简单命令)
redis-学习笔记(Jedis list简单命令)
62 1
|
NoSQL Java Redis
Redis 从入门到精通之Redis Pipeline
使用Redis Pipeline可以大大提高Redis的性能和吞吐量,但需要注意命令的顺序和语义,以保证数据的正确性和一致性。同时,使用Jedis和RedisTemplate实现Redis Pipeline时,需要遵循最佳实践,避免出现错误和异常。 2. 在使用Jedis实现Redis Pipeline时,需要使用Pipeline对象添加多个命令并执行,然后通过`syncAndReturnAll`方法获取所有命令的执行结果。 3. 在使用RedisTemplate实现Redis Pipeline时,需要使用`executePipelined`方法添加多个命令并执行,然后通过返回的结果列表获取
728 15
Redis 从入门到精通之Redis Pipeline
|
NoSQL Java Redis
Redis-12Redis 流水线( pipeline )
Redis-12Redis 流水线( pipeline )
120 0
|
弹性计算 NoSQL 安全
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
|
NoSQL Redis
Redis 的 pipeline对象是事务吗?
Redis 的 pipeline对象是事务吗?
269 0
|
缓存 NoSQL PHP
Redis 的 pipeline对象是干什么的?底层原理是什么?
Redis 的 pipeline对象是干什么的?底层原理是什么?
228 0
|
NoSQL JavaScript Java
【Redis高手修炼之路】Jedis——Jedis的基本使用
【Redis高手修炼之路】Jedis——Jedis的基本使用
454 0
【Redis高手修炼之路】Jedis——Jedis的基本使用
|
NoSQL Java 中间件
Jedis基础详解
Jedis基础详解
122 0