当我获取/转储列表时,redis(PHP)中的LPUSH函数抛出bool(false)

时间:2013-10-23 18:21:09

标签: php testing redis phpredis

好吧,sooooo ......问题在于:我是一个名为“keys”的列表的LPUSH变量值。当我尝试获取并输出该列表的值时......它声称列表为空(bool(false))。语法似乎正确。这段代码适用于其他场合(事实上,我只是通过每个函数,测试/重构/改进我已经编写的内容)。我被这个抓住了,我完全被困住了。这是代码(附有相关说明):

$kw = $_REQUEST['keyword']; //we're passing a value to this in a query string

if(empty($kw)){                                 

    $key = 'default';      
    createRedis($key); 

}else{

    $key = $kw;          
createRedis($key);    
}

function{   

    $key = $a;
    $r = new Redis(); 
    $r->connect( 'localhost' );         

    $r->LPUSH( 'keys',$key );   // $key echos a value when one is passed in
    echo $key;                  // a query string, BUT....

    $keys=$r->get('keys');      //'keys'... the redis list
    var_dump($keys);        // throws a bool(false) when dumped     

}

我有什么疯狂的东西吗? Redis在我的服务器上测试工作。我,否则,我无法弄清楚这有什么问题。这是关于phpredis的LPUSH的文档(这是我们正在使用的(它也已安装并正在工作)):https://github.com/nicolasff/phpredis#lpush 和 Redis网站上的文档(这些是CLI示例): http://redis.io/commands/lpush

真诚地感谢任何帮助。也许我正在使用一种无​​效的方法来测试redis list'keys'是否保留值? (这就是转储的全部目的)。

1 个答案:

答案 0 :(得分:2)

您必须使用lrange代替get

$keys = $r->lrange('keys', 0, -1);