Redis使用管道PipeLine

Redis的Pipline技术允许客户端批量发送请求,减少RRT(Round Trip Time),提高性能。在埋点数据处理中,使用Pipeline能避免大量TCP连接,优化性能。尽管Pipeline不保证原子性,但可以通过Redis-Multi等命令实现事务。文章介绍了如何在Spring Boot中使用Redis Pipeline,并提醒了使用注意事项。
摘要由CSDN通过智能技术生成

Pipline

Pipline指的是管道技术,指的是客户端允许将多个请求依次发给服务器,过程中而不需要等待请求的回复,在最后再一并读取结果即可,Redis很早就支持管道(Pipline)技术。(因此无论你运行的是什么版本,你都可以使用管道操作Redis)

普通请求模型

Pipeline请求模型

 

使用场景例子:埋点数据的消费者生产者队列,使用redis中的list类型,把埋点数据存在redis中,一次存储一条,通过定时任务消费缓存中的数据(持久化到数据库),需要保证原子操作,所以每次使用lPop出队(先计算队列总数,然后通过rang()函数返回,再截取剩下的,无法保证原子操作,在截取数据时另一个客户端新加的数据未能截取保留下来),如果缓存中有1万条数据,那么需要执行客户端命令1万次,tcp连接1w次会影响性能,所以考虑使用管道实现,管道可以把客户端命令批量提交给redis服务端,然后一次性返回数据。

为什么要使用Pipeline?

 性能问题一:redis客户端发送多条请求,后面的请求需要等待前面的请求处理完后,才能进行处理,而且每个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值