Predis Async怀疑

时间:2012-12-13 01:46:59

标签: yii redis predis

有人告诉我,如果我想使用predis-async,那么我将使用某种异步Web框架(可能使用https://github.com/reactphp/react构建)。我目前正在使用Yii。

我也被告知

$client->getEventLoop()->run();

该行将启动事件循环,在终止与Redis的所有连接并调用所有回调之后,该循环不会返回。这意味着此行将阻止您的代码。尝试运行以下代码(说明Predis异步使用的最简单代码):

$client = new Predis\Async\Client('tcp://127.0.0.1:6379');
$client->set('test', 'value');

$client->getEventLoop()->run();
echo 'END';

END可能不会显示很长时间或者可能永远不会显示,但肯定会使用非同步操作多于相同的操作 Predis。

但是,我自己的理解是现有的PHP系统应该能够直接使用Predis Async作为lib。这意味着现有的PHP系统不需要在ReactPHP上。我使用predis异步的想法类似于使用mongodb异步 承诺。当PHP调用mongodb lib来提交写操作时,它就是 异步。 Mongodb立即返回呼叫而不是等待 写入首先发生。在这种情况下,mongodb不需要 异步php框架。

是真的吗?
  

END可能不会显示很长时间,也可能永远不会显示,但是   可以肯定,使用非Async需要多个操作   Predis。

0 个答案:

没有答案