好吧,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'是否保留值? (这就是转储的全部目的)。
答案 0 :(得分:2)
您必须使用lrange
代替get
:
$keys = $r->lrange('keys', 0, -1);