Redis的管道(Pipeline)的一些看法

最近病了,病的很厉害.人发烧了,顶着头疼去了网易考拉进行二面.然后让人给怼了,认识了两位大佬加了微信,总算是没有白去..泽州大佬告诉我,要学会思考,不要做代码机器…

回到家里,瘫在沙发上一动不想动..

之前博文中有讲到Redis的一些使用方式和一些场景以及发生的一些问题.现在我总结一下Reids的PipeLine,也就是管道.

Redis的管道可以在大量数据需要一次性操作完成的时候,使用Pipeline进行批处理,将一大队的操作合并成一次操作,可以减少链路层的时间消耗,毕竟频繁操作是不好的嘛.

Redis有很多客户端可供使用 我这里以Jedis为例.做一个简单的小测试,管道的效果一目了然.
先上一段代码:
直接操作Redis 10W读写

我使用Jedis客户端 先在本地测试Redis 10W条数据的读写

测试结果:
直接操作结果
10W条数据本地操作耗时19694ms 将近20000毫秒..

现在我使用Pipeline 代码也相应改动一下:
PipeLine之后10W条数据读写
现在在代码当中通过Jedis.pipeline();获取到一个pipeline对象,通过pipeline去操作Redis读写

测试结果:
PipeLine结果
结果仅仅使用了671ms

在本地运行的情况下性能差距就已经如此明显,更何况是在互联网项目当中,如果是频繁的操作Redis,使用管道技术去进行操作是可取的.不仅减少服务器压力,还能减少链路层中的时间消耗,批量处理频繁的操作,将大量操作结合成少量的操作..这是十分可取的.

PipeLine的强大已经是非常直观的了,那么具体的实现光靠猜是不行的,必须去阅读对应的源码.

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值