在社交网站中用户都可以为自己设置的兴趣标签,后台就可以给标记相同标签的人互推好友,或者向某一批相同标签的人发起活动。
## 设置标签
~~~
public function setTags($user_id)
{
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// 创建标签
$redis->sAdd("u:t:{$user_id}", "php", "java");
// 以数组形式创建集合
// $redis->sAddArray("u:t:{$user_id}", ["php", "java"]);
}
~~~
## 两个用户的标签交集
~~~
public function getInter($user_id, $friends_id)
{
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$inter = $redis->sInter("u:t:{$user_id}", "u:t:{$friends_id}");
var_dump($inter);
}
~~~
除了两个用户之间的共同兴趣外,微博的共同关注功能正是 Redis 的集合数据结构交集实现的。