博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis学习笔记(9)-管道/分布式
阅读量:6981 次
发布时间:2019-06-27

本文共 2826 字,大约阅读时间需要 9 分钟。

package cn.com;import java.util.Arrays;import java.util.List;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisShardInfo;import redis.clients.jedis.Pipeline;import redis.clients.jedis.ShardedJedis;import redis.clients.jedis.ShardedJedisPipeline;public class Redis_Dispersed {	/**	 * 	分布式直连同步调用	 * */	public static void sync_dispersed(){		List
shards = Arrays.asList( new JedisShardInfo("localhost",6379), new JedisShardInfo("localhost",6380)); ShardedJedis sharding = new ShardedJedis(shards); long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { String result = sharding.set("userid" + i, "age" + i); } long end = System.currentTimeMillis(); System.out.println("执行实行: " + ((end - start)/1000.0) + " seconds"); sharding.disconnect(); } /** * 分布式直连异步调用 * */ public static void shardpipelined() { List
shards = Arrays.asList( new JedisShardInfo("localhost",6379), new JedisShardInfo("localhost",6380)); ShardedJedis sharding = new ShardedJedis(shards); ShardedJedisPipeline pipeline = sharding.pipelined(); long start = System.currentTimeMillis(); for (int i = 0; i < 100; i++) { pipeline.set("userid" + i, "age" + i); } List
results = pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); System.out.println("执行时间: " + ((end - start)/1000.0) + " seconds"); sharding.disconnect(); } /** * 管道 pipeline方式是将一些列命令打包一起发送到服务器执行。 * 而服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端 * 注意:打包的命令越多,缓存消耗内存也越多。所以并是不是打包的命令越多越好 * */ public static void pipeline(){ Jedis jedis = new Jedis("localhost",6379); Pipeline pipeline = jedis.pipelined(); long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { pipeline.set("p" + i, "p" + i); } List results = pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); System.out.println("Pipelined SET: " + ((end - start)/1000.0) + " seconds"); //jedis.disconnect(); jedis.close(); } /** * 管道中调用事务 * */ public static void trans_pipeline(){ Jedis jedis = new Jedis("localhost",6379); long start = System.currentTimeMillis(); Pipeline pipeline = jedis.pipelined(); pipeline.multi(); for (int i = 0; i < 100000; i++) { pipeline.set("" + i, "" + i); } pipeline.exec(); List results = pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); System.out.println("Pipelined transaction: " + ((end - start)/1000.0) + " seconds"); jedis.disconnect(); } public static void main(String [] args){ shardpipelined(); }}

  

转载于:https://www.cnblogs.com/zuolun2017/p/5611997.html

你可能感兴趣的文章
Android中的JSON详细总结
查看>>
[转载]分享WCF聊天程序--WCFChat
查看>>
程序员说话技巧大放送,受教了
查看>>
Linux指令--文件和目录属性
查看>>
PHP smarty缓存
查看>>
[数位dp] spoj 10738 Ra-One Numbers
查看>>
HDU 2206 IP的计算(字符串处理)
查看>>
您会让自己的小孩将来从事软件研发吗?
查看>>
【Maven】maven的安装配置和ecplise结合
查看>>
CHIL-SQL-MIN() 函数
查看>>
驾考试题的json代码
查看>>
黑马基础阶段测试题:通过字符输入流读取info.txt中的所有内容,每次读取一行,将每一行的第一个文字截取出来并打印在控制台上。...
查看>>
优秀博客
查看>>
iOS 开发 OC编程 数组冒泡排序.图书管理
查看>>
VS 2010 快捷键大全
查看>>
决策树算法
查看>>
前端的一些小的效果
查看>>
angular指令ng-class巧用
查看>>
解密FFmpeg播放track mode控制
查看>>
前端基础之JavaScript
查看>>