Redis pipeline在java中的运用
来源:互联网 发布:php oa系统流程 编辑:程序博客网 时间:2024/04/24 20:20
我们可以利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回,而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端。
通过pipeline方式当有大批量的操作时候。我们可以节省很多原来浪费在网络延迟的时间。需要注意到是用 pipeline方式打包命令发送,redis必须在处理完所有命令前先缓存起所有命令的处理结果。打包的命令越多,缓存消耗内存也越多。所以并是不是打包的命令越多越好。具体代码如下:
package com.jd.redis.client; import redis.clients.jedis.Jedis;import redis.clients.jedis.Pipeline; publicclass PipelineTest { /** * @param args */ publicstaticvoid main(String[] args) { int count = 1000; long start = System.currentTimeMillis(); withoutPipeline(count); long end = System.currentTimeMillis(); System.out.println("withoutPipeline: " + (end-start)); start = System.currentTimeMillis(); usePipeline(count); end = System.currentTimeMillis(); System.out.println("usePipeline: " + (end-start)); } privatestaticvoid withoutPipeline(int count){ Jedis jr = null; try { jr = new Jedis("10.10.224.44", 6379); for(int i =0; i<count; i++){ jr.incr("testKey1"); } } catch (Exception e) { e.printStackTrace(); } finally{ if(jr!=null){ jr.disconnect(); } } } privatestaticvoid usePipeline(int count){ Jedis jr = null; try { jr = new Jedis("10.10.224.44", 6379); Pipeline pl = jr.pipelined(); for(int i =0; i<count; i++){ pl.incr("testKey2"); } pl.sync(); } catch (Exception e) { e.printStackTrace(); } finally{ if(jr!=null){ jr.disconnect(); } } }}
0 0
- Redis pipeline在java中的运用
- redis中的pipeline模式
- Redis在项目中的具体运用
- Redis在项目中的运用总结
- JDOM在JAVA中的运用
- XML在JAVA中的运用
- 反射在java中的运用
- This在java中的运用
- xml在java中的运用
- NoSQL之Redis(三) --- Redis在项目中的运用
- Redis pipeline
- redis pipeline
- redis pipeline
- Redis-pipeline
- spring在java工程中的运用
- 设计模式在JAVA中的具体运用
- 结构体函数在Java中的运用
- 结构体函数在Java中的运用
- hadoop学习之hadoop完全分布式集群安装
- 黑马程序员---Unix相关---常用命令
- 设计模式资料
- linux下查看已经安装的jdk 并卸载jdk
- 基于springmvc的文件上传及其讲解
- Redis pipeline在java中的运用
- [think in java2]java并发问题总结
- 基于VS2013的ActiveX控件实现
- textfield在实际开发中用到的代理方法
- linux阻塞式网络小程序
- 一起talk GDB吧(第五回:GDB查看信息)
- 1001:图形的面积
- 二叉树基本概念
- JS正则表达式之特殊符号