Pipline
Pipline指的是管道技术,指的是客户端允许将多个请求依次发给服务器,过程中而不需要等待请求的回复,在最后再一并读取结果即可,Redis很早就支持管道(Pipline)技术。(因此无论你运行的是什么版本,你都可以使用管道操作Redis)
普通请求模型
Pipeline请求模型
使用场景例子:埋点数据的消费者生产者队列,使用redis中的list类型,把埋点数据存在redis中,一次存储一条,通过定时任务消费缓存中的数据(持久化到数据库),需要保证原子操作,所以每次使用lPop出队(先计算队列总数,然后通过rang()函数返回,再截取剩下的,无法保证原子操作,在截取数据时另一个客户端新加的数据未能截取保留下来),如果缓存中有1万条数据,那么需要执行客户端命令1万次,tcp连接1w次会影响性能,所以考虑使用管道实现,管道可以把客户端命令批量提交给redis服务端,然后一次性返回数据。
为什么要使用Pipeline?
性能问题一:redis客户端发送多条请求,后面的请求需要等待前面的请求处理完后,才能进行处理,而且每个