PHP + Redis中的实际流水线操作,而不是批处理

时间:2014-12-02 06:06:28

标签: php redis

有关于"流水线"的大量信息。在PHP + Redis网络上。但是,当您真正开始查看示例时,其中没有一个实际流水线操作。他们所做的只是批量处理。例如,让我们来看看Predis - > pipeline()(https://github.com/nrk/predis)和Phpredis - > multi()(https://github.com/nicolasff/phpredis)。它们基本上暂停命令的执行,而是将命令收集到缓冲区中,然后在稍后调用 - > execute()/ - > exec()时批量执行它们。

缺点: - 必须为许多命令分配一个可能变大的命令缓冲区 - 每批命令都需要往返服务器一次

我期望从流水线操作模式的行为是:一旦我将命令传递给客户端就开始发送命令,而不是缓冲它们。在命令响应到达之前返回。允许发送越来越多的命令,而之前的命令是#34;在飞行中#34;。偶尔收集来自客户的回复,而不等待尚未到达的回复。

奇怪的是,这些示例实际上将常量传递给被称为" pipelining"的客户端,但它们将行为描述为批处理。

大问题:你怎么能真正将这些客户端置于流水线模式?

0 个答案:

没有答案