多个redis流的反向读取(虚构的xrevread命令)

2wnc66cl  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(356)

使用redis streams,我可以按时间顺序向前读取多个流。每个流都从一个时间点读取到该流中的最新点。我可以从多个流中得到最老的项目
xread count 1流streama streamb streamc 0-0 0-0
并从那里(注意返回的id)向前移动,消费流选择中的所有项。限制消费到每个流只有一个项目。
如何轻松地反向使用多个流。从一个流的提示上的最新项目开始,并在时间上后退,同时限制每个流中只有一个项目的消费?

tf7tbtn2

tf7tbtn21#

你不能,因为redis从6.0版开始就不提供这个xrevread命令。
最接近的是xrevrange,除了它一次只需要一个流。如果您真的想这样做,您可能需要编写一个lua脚本,这样您就可以提供多个流,让脚本循环流并调用xrevrange命令,然后立即生成结果。

相关问题