Каков правильный синтаксис BLPOP на Predis? - PullRequest
2 голосов
/ 28 сентября 2011

Я делаю это так:

$r = new Predis\Client($single_server, $options);
$retval = $r->blpop('queue:query');

Но я получаю эту ошибку:

ERR wrong number of arguments for 'blpop' command

Всякий раз, когда я делаю это

$r = new Predis\Client($single_server, $options);
$retval = $r->blpop('queue:query',0);

Я получаю ошибку:

Error while reading line from the server

Делая это из redis-cli

redis 127.0.0.1:6379> BLPOP queue:query
(error) ERR wrong number of arguments for 'blpop' command
redis 127.0.0.1:6379> BLPOP queue:query 0
1) "queue:query"
2) "hello world"

1 Ответ

1 голос
/ 28 сентября 2011

Похоже, ошибка. * * * * * * * * * * * * * * * * * * * * * Последняя версия не имеет этой проблемы, также она, очевидно, отбросила пространства имен:

<?
include_once "Predis.php";

$r = new Predis_Client();
$retval = $r->blpop('queue:query',0);
var_dump($retval);
?> 

Он заблокирован, когда я зашел на страницу. Затем я выдал LPUSH queue:query 0, вернулся на страницу и получил:

array(2) { [0]=> string(11) "queue:query" [1]=> string(1) "0" }

Тем не менее, я бы порекомендовал использовать phpredis , он быстрее этой библиотеки, потому что он скомпилирован как расширение php. Если у вас есть права на вашем сервере, это хороший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...