首页
学习
活动
专区
工具
TVP
发布

Redis实现好友关注关系的思路

在项目中,我们有时可能会需要设计好友关注这个功能。如果用关系性数据库,例如MySQL可能会查询很慢,我们可以用Redis来实现这个功能。

如上图所示,在好友关注关系中,主要有以上三种状态,即:

我的粉丝(fans)

我的关注(follow)

互粉(mutual)

假设两个用户。用户ID分别为1和2,。

关注

1、关注好友:

关注好友分为两个步骤。

第一步,将对方写入我的关注中。第二步,将我写入对方的粉丝中。即:

2、取消关注:

取消关注也分为两个步骤

第一步,将对方从我的关注中移除。第二步,将我从对方的粉丝中移除。即:

3、查看粉丝列表

4、查看关注列表

5、粉丝数量

6、关注数量

人物关系

1、我单向关注Ta。即我关注的Ta,但是Ta并没有关注我的

如果第一条成立,第二条不成立,说明我单向关注了对方(1关注了2,而1的粉丝中没有2,说明2并没有关注1)。

2、Ta单向关注我。即Ta关注我了,我并没有关注Ta

如果第一条不成立,第二条成立,说明对方单向关注了我(1没有关注2,而1的粉丝中有2,说明2关注了1);

3、互相关注。即我关注了Ta,Ta也关注了我

如果上面两条都成立,即说明互相关注了(1关注了2,并且1的粉丝中有2,说明2也关注1了)。

我的互粉列表以及共同关注列表:

在查询出数据的时候可以将关系写入到临时表中,在这里就不再阐述了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G0VT1W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券