【Redis】pipeline管道打包处理模式

栏目: 数据库 · 发布时间: 6年前

内容简介:Redis本身是一个cs模式的tcp server, client可以通过一个socket连续发起多个请求命令。 每个请求命令发出后client通常会阻塞并等待redis服务端处理,redis服务端处理完后将结果返回给client。由于我们知道Redis非常快,这种发送模式中的性能瓶颈其实在于请求传输速度,就算redis server端有很强的处理能力,也由于收到的client消息少,而造成吞吐量小。我们可以修改一种处理模式:通过pipeline方式将client端命令一起发出,redis server会处

Redis本身是一个cs模式的tcp server, client可以通过一个socket连续发起多个请求命令。 每个请求命令发出后client通常会阻塞并等待 redis 服务端处理,redis服务端处理完后将结果返回给client。

由于我们知道Redis非常快,这种发送模式中的性能瓶颈其实在于请求传输速度,就算redis server端有很强的处理能力,也由于收到的client消息少,而造成吞吐量小。我们可以修改一种处理模式:

通过pipeline方式将client端命令一起发出,redis server会处理完多条命令后,将结果一起打包返回client,从而节省大量的网络延迟开销。

下面以 Java 的客户端jedis来测试pipeline的效果。

Pipeline pipeline = jedis.pipelined();  
long start = System.currentTimeMillis();  
for (int i = 0; i < 10000; i++) {  
    pipeline.hset("server", "" + i, "" + i);  
}  
List<Object> results = pipeline.execute();  
long end = System.currentTimeMillis();  
System.out.println("Pipelined SET: " + ((end - start)/1000.0) + " seconds");

测试的结果采用pipeline方式,效率几乎与mset一样,每秒插入约15万数据,但内存占用仅为mset的1/3.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Lean Startup

The Lean Startup

Eric Ries / Crown Business / 2011-9-13 / USD 26.00

更多中文介绍:http://huing.com Most startups fail. But many of those failures are preventable. The Lean Startup is a new approach being adopted across the globe, chan ging the way companies are built and ......一起来看看 《The Lean Startup》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具