簡體   English   中英

如何使用php redis獲取redis中的所有鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM