Php Predis上BLPOP的正确语法是什么?

Php Predis上BLPOP的正确语法是什么?,php,syntax,redis,Php,Syntax,Redis,我是这样做的: $r = new Predis\Client($single_server, $options); $retval = $r->blpop('queue:query'); 但我得到了这个错误: ERR'blpop'命令的参数数目错误 每当我这样做的时候 $r = new Predis\Client($single_server, $options); $retval = $r->blpop('queue:query',0); 我得到一个错误: 从服务器读取线路时出

我是这样做的:

$r = new Predis\Client($single_server, $options);
$retval = $r->blpop('queue:query');
但我得到了这个错误:

ERR'blpop'命令的参数数目错误

每当我这样做的时候

$r = new Predis\Client($single_server, $options);
$retval = $r->blpop('queue:query',0);
我得到一个错误:

从服务器读取线路时出错

从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"
看起来像个虫子。该版本没有此问题,而且它显然删除了名称空间:

<?
include_once "Predis.php";

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

尽管如此,我还是建议使用,它比这个库快,因为它是作为php扩展编译的。如果您在服务器上拥有权限,这是一个不错的选择。

您是否尝试过
$r->blpop(数组('queue:query',0))
array(2) { [0]=> string(11) "queue:query" [1]=> string(1) "0" }