内容简介: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.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 速度不够,管道来凑——Redis管道技术
- Golang pipline泛型管道和类型管道的性能差距
- Linux 管道那些事儿
- mongodb 聚合管道
- Redis管道
- Clojure 集合管道函数练习
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《裂变:秒懂人工智能的基础课》
王天一 / 电子工业出版社·博文视点 / 2018-6-13 / 59.00元
人工智能是指通过普通计算机程序实现的人类智能技术,这一学科不仅具有非凡的科学意义,对人类自身生存方式的影响也在不断加深。本书作为人工智能领域的入门读物,内容围绕人工智能的核心框架展开,具体包括数学基础知识、机器学习算法、人工神经网络原理、深度学习方法与实例、深度学习之外的人工智能和实践应用场景等模块。本书力图为人工智能初学者提供关于这一领域的全面认识,也为进一步的深入研究建立坚实的基础。一起来看看 《《裂变:秒懂人工智能的基础课》》 这本书的介绍吧!