Redis笔记六之管道

10 篇文章 0 订阅

        redis中一个操作命令就是客户端和服务端的一次交互,如果有1000条set命令则意味着客户端和服务端会有1000次交互,这显然在性能上不符合我们的期望。

        redis提供管道机制来解决这一问题,使用管道会将1000条命令一次性发给服务器然后再一次性全部执行,管道就是执行了一个批处理操作。

        下面两个例子分别使用管道和非管道两种方式创建1000个key

        使用管道

@Test
	public void testPipeline()
	{
		//1:从jedis连接池中获取链接
		Jedis jedis = RedisTools.getJedis();
		
		//2:通过jedis得到管道
		Pipeline pipeline = jedis.pipelined();
		
		//3:通过管道执行1000条命令
		long start = System.currentTimeMillis();
		for(int i = 0; i < 1000; i++)
		{
			pipeline.set("set" + i, i + "");
		}
		pipeline.sync();
		long end = System.currentTimeMillis();
		System.out.println("pipeLine : " + (end - start));
	}

       

             不使用管道

@Test
	public void testNoPipeline()
	{
		//1:从jedis连接池中获取链接
		Jedis jedis = RedisTools.getJedis();
		
		//2:不通过管道执行1000条命令
		long start = System.currentTimeMillis();
		for(int i = 0; i < 1000; i++)
		{
			jedis.set("jedis" + i, i + "");
		}
		long end = System.currentTimeMillis();
		System.out.println("Not pipeLine : " + (end - start));
	}

             

             从实验结果来看操作1000条数据,使用管道耗时91,不使用管道耗时283

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值