redis中的pipeline
second60 20181101
1 单操作命令分析
单操作命令操作时间 = 1次网络往返 + 1次命令执行
假如一次get key,那么是单次操作
2 批量操作命令分析
如果我们要得到n个key, 如果循环调用get,那么
循环操作单次命令时间= n次网络往返+ n次命令执行.

为此,redis中提供了批量操作的命令,如mget, mset,有效的减少RTT网络时间
批量操作命令时间 = 1次网络往返 + n 次命令执行
但是,这只支持单类命令的批量操作,如果我要同时发送不同命令,同时操作,怎么办?
这也就出现了pipeline.
3 pipeline简介
pipeline 支持同时发送多条不同类型的命令,并一次性得到结果!!!
pipeline操作时间 = 1次网络往返 + n次命令执行

pipeline解决了2中不同同时批量命令操作的问题。
pipeline(流水线)能将一组redis命令进行组装,通过一次RTT传输给redis,再将这组redis命令的执行结果按顺序返回给客户端。

Redis Pipeline 提供了一种高效的方式来进行批量命令操作,减少了网络往返时间,提高了性能。通过一次网络交互发送多条命令,一次性获取所有结果。在hiredis中,可以设置超时时间和指定命令序列来使用pipeline。尽管它有速度快的优点,但也需要注意命令数量的限制以及在分布式环境中的使用策略。
最低0.47元/天 解锁文章
397

被折叠的 条评论
为什么被折叠?



