1

好吧,sooooo ...问题是这样的:我正在将一个变量值LPUSH'ing到一个名为“keys”的列表中。当我尝试获取并输出该列表的值时......它声称该列表为空(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 在我的服务器上经过测试可以正常工作。否则,我无法弄清楚这到底是什么问题。这是关于 LPUSH for phpredis 的文档(这是我们正在使用的(它也已安装和工作)):https ://github.com/nicolasff/phpredis#lpush 以及 Redis 网站上的文档(这些是 CLI示例): http ://redis.io/commands/lpush

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

4

1 回答 1

2

您必须使用lrange而不是get

$keys = $r->lrange('keys', 0, -1);
于 2013-10-23T18:24:55.743 回答