liyao20060101 发表于 2018-11-2 12:42:47

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”);

页: [1]
查看完整版本: redis应用之——关注、被关注