【redis】pipeline

2021年3月19日 12点热度 0条评论 来源: 起灵人

即使客户端尚未读取旧的响应,它也可以处理新的请求。通过这种方式,可以将多个命令发送到服务器,而根本不需要等待答复,最后一步即可读取答复。

但它的优势不仅在于此,还可以极大地减少IO,提高每秒可以执行的总操作量,因为可以通过单个read() 读取和单个write()答复这一批数据流,而不必每个命令都read()、write()一次,上下文切换也是巨大的速度损失。

使用pipeline性能可以达到不使用的10倍。

即使在本地测试,其内部仍然有类似网络的延迟,并不是在内存里直接共享数据。

每次发送数据量不是越大越好,每次发送的数据会载入内存并等待答复,数据量过大对内存占用会增大,可以结合服务器情况分成小批量。

 

https://redis.io/topics/pipelining

    原文作者:起灵人
    原文地址: https://blog.csdn.net/qiling_70/article/details/114999112
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。