我需要连续运行多个 ft.aggregate 和 ft.search 查询 - 第一个查询结果是第二个查询的输入,依此类推。我想限制 redis 往返,所以我想我可以使用管道。我查看了官方文档中的一些示例,但找不到任何有关查询的内容。问题是 - 如果我为一个查询返回一组值 - 是否可以将其在管道中传递给第二个查询?
不幸的是,你想做的事情是不可能的,因为它与管道是相矛盾。本质上,管道的工作方式是将请求推入而不是等待响应。这意味着请求和响应在设计上是断开连接的。 要实现此目的,您需要在单个请求中进行管道传输,等待响应,然后在下一个请求中进行管道传输。这和在单个连接上进行一系列调用没有区别。
底线 - 如果您需要在发送下一个请求之前对响应执行某些操作,则不能使用管道。