如何与Redis的朋友交朋友

时间:2014-03-02 12:37:20

标签: php nosql redis

我有redis中所有用户朋友的列表。 (每个用户,一个列表给他的朋友) 现在,我如何才能获得用户的朋友列表?

2 个答案:

答案 0 :(得分: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;
}
}
}

答案 1 :(得分:0)

这是neo4j更有效的用例。 请尝试检查一下:http://www.neo4j.org/learn/graphdatabase