[英]How get all keys in redis using php redis?
我正在使用https://github.com/nicolasff/phpredis扩展来访问 redis。 我想从 PHP 代码中获取 redis 中的所有键。 我尝试了以下代码:
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$allKeys = $redis->keys('*');
print_r($allKeys); // nothing here
但是在 shell 中给出以下命令给出结果:
127.0.0.1:6379> KEYS *
"kq92p7b5tf63tmk12v54373e03 hs7ep4lc2m6ci5kk5dosgpelg4
pt7lfejenqbmmovjpmp9aojuf0 2p05gf20or6r5ee5i7sts90kn1
cb1d6g3d3bvqetjfmkmaurmpp3"
我可以从 PHP 脚本以下列方式设置键和数据:
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set(session_id(), json_encode(array('uname'=>'messi fan')));
如何使用 phpredis 从 redis 获取KEYS *
?
您的代码没有任何问题。 你做对了: $redis->keys('*')
检索所有键。
结果:
"kq92p7b5tf63tmk12v54373e03 hs7ep4lc2m6ci5kk5dosgpelg4
pt7lfejenqbmmovjpmp9aojuf0 2p05gf20or6r5ee5i7sts90kn1
cb1d6g3d3bvqetjfmkmaurmpp3"
实际上是您在执行时设置的键:
$redis->set(session_id(), json_encode(array('uname'=>'messi fan')));
所以session_id()
返回值:
kq92p7b5tf63tmk12v54373e03 hs7ep4lc2m6ci5kk5dosgpelg4
pt7lfejenqbmmovjpmp9aojuf0 2p05gf20or6r5ee5i7sts90kn1
cb1d6g3d3bvqetjfmkmaurmpp3
因此这成为您设置的密钥的名称。
$redis = new Redis(); $redis->connect('xxxxxx', 6379); // use your Host from Redis desktop Manager - connection $redis->auth('xxxxxx'); // use your Auth from Redis desktop Manager - connection $allKeys = $redis->keys('*'); print_r($allKeys); // nothing here
尝试这个
$redis->get('key');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.