1. 程式人生 > >redis應用之——關註、被關註

redis應用之——關註、被關註

redis

粉絲表:fans:myUid oUid1 oUid2 oUid3
關註表:follow:myUid oUid1 oUid2 oUid3
點擊關註某用戶,若未關註,則將其id寫入對應的follow:myUid(這裏的myUid是關註者的id)集合裏。同時,將我的id寫到我關註的用戶的fans:oUid(這裏的oUid是被關註者的id)集合裏
//判斷該用戶是否被我關註
$redis = new Redis();
$redis->connect(‘127.0.0.1‘,6379);
$exsistId = $redis->sismember(‘follow:’.$myUid,$uid);
//點擊”關註/取消”按鈕,如果不在則將其丟到我關註的人的id的集合裏,同時將我的id丟到其粉絲(被關註人)集合裏。如果在,則將其id從我的關註表中除去,同時從其粉絲表中把我的id除去
if(!$exsistId){
$redis->sadd(‘follow:’.$myUid,$uid,);
$redis->sadd(‘fans:’.$uid,$myUid);
}else{
$redis->srem(‘follow:’.$myUid,$uid,);
$redis->srem(‘fans:’.$uid,$myUid);
}
//獲取我的粉絲、關註人的數量
$myFansNum = $redis->scard(‘follow:’,$myUid);
$myFollowNum = $redis->scard(‘fans:’,$myUid);
//取交集求我與某位粉絲共同關註、共同粉絲
$commonFans = $redis->sInter(“follow:$myUid”,”follow:$uid”);
$commonFollow = $redis->sInter(“fans:$myUid”,”follow:$uid”);

redis應用之——關註、被關註