2014-03-02 50 views
-2

我有redis中所有用戶朋友的列表。 (每個用戶,他的朋友的一個列表) 現在我怎麼能得到一個用戶朋友的朋友列表?如何通過Redis獲得朋友的朋友

+0

我可以使用multiget命令嗎? – Mehdi

回答

0

我相信你可以做得更好。一個想法是,獲取用戶的朋友,併爲每個朋友(獲取他們的朋友)做同樣的事情,並通過保持每個用戶的唯一性將他們推送到數組。

$redis = new Predis\Client(array(
    'host' => '10.0.0.1', 
    'port' => 6379, 
    'password' => {PASS_KEY}, 
    'database' => 0 
)); 

$user = "key-to-user's-friends"; 
$userFriends = $redis->lrange($user, 0, -1); 
$friendsOfFreinds = array(); 

foreach($userFriends as $friend){ 
$friendsFriends = $redis->lrange($friend, 0, -1); 
foreach($friendsFriends as $friendFriend){ 
if(!in_array($friendFriend)){ 
$friendsOfFreinds[] = $friendFriend; 
} 
} 
} 
+0

請問你能爲我寫一個示例代碼嗎? – Mehdi

+0

你使用哪個php的redis庫? –

+0

predis ... php庫 – Mehdi

相關問題