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

本文共 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

你可能感兴趣的文章
无线传感网络小记
查看>>
git操作
查看>>
如何查看SQL Server补丁版本
查看>>
省市区级联选择
查看>>
基于webpack的前端工程化开发解决方案探索(一):动态生成HTML(转)
查看>>
CF1019E Raining season
查看>>
5文件和目录常用命令
查看>>
服务器和客户端的理解
查看>>
面试机会1--multicore美国多核(长春)
查看>>
监督学习——logistic进行二分类(python)
查看>>
css中的定位和框模型问题
查看>>
linux系统下git使用
查看>>
cookie
查看>>
网站流量统计PV&UV
查看>>
说一下StoreBoard和纯代码编程各有什么好处吧
查看>>
[系统开发] 基于Ansible的产品上线系统
查看>>
pacman -Syu : key could not be looked up remotely.
查看>>
Set容器
查看>>
CFG的定义
查看>>
Java类成员的访问权限
查看>>