好吧,所以...问题是这样的:我正在将变量值推送到一个名为"键"的列表。当我尝试获取并输出该列表的值时...它声称列表为空(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 列表"键"是否保留了价值?(这就是转储的全部目的)。
你必须
使用lrange
而不是get
:
$keys = $r->lrange('keys', 0, -1);