我使用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 *
?
答案 0 :(得分:7)
您的代码没有任何问题。您正确地执行了此操作:$redis->keys('*')
检索所有密钥。
结果:
"kq92p7b5tf63tmk12v54373e03 hs7ep4lc2m6ci5kk5dosgpelg4
pt7lfejenqbmmovjpmp9aojuf0 2p05gf20or6r5ee5i7sts90kn1
cb1d6g3d3bvqetjfmkmaurmpp3"
实际上是你设置的关键:
$redis->set(session_id(), json_encode(array('uname'=>'messi fan')));
所以session_id()
返回了值:
kq92p7b5tf63tmk12v54373e03 hs7ep4lc2m6ci5kk5dosgpelg4
pt7lfejenqbmmovjpmp9aojuf0 2p05gf20or6r5ee5i7sts90kn1
cb1d6g3d3bvqetjfmkmaurmpp3
因此,这成为您设置的密钥的名称。
答案 1 :(得分:2)
$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
答案 2 :(得分:-4)
试试这个
$redis->get('key');