第10章用户关系服务——10.1 用户关系服务的职责

第10章用户关系服务——10.1 用户关系服务的职责
John Yaml任何注重用户互动的互联网应用,都会将用户之间的关注功能作为产品的重要功能之一 ,因此它允许用户订阅其他用户的动态,以便及时获取用户的更新和动态。关注功能对互联网应用的重要性体现在如下。
- 促进社交互动:关注功能可以促进用户之间的社交互动,让用户更容易发现和关注其他用户的动态,增加用户之间的互动和交流。
- 个性化推荐:关注功能可以为互联网产品提供更准确的个性化推荐服务,根据用户的关注和兴趣,推荐相关的内容与服务,提升用户的满意度和体验。
- 增加用户黏性:关注功能可以让用户更容易发现和关注自己感兴趣的内容与服务,从而增加用户黏性,提高用户忠诚度。
无论是社交类、内容类、电商类还是其他类型的互联网应用,关注功能已经成为它们必备的功能之一。负责用户关系数据的服务就是用户关系服务,本章将按照如下学习路径来介绍用户关系服务的设计。
- 10.1节介绍用户关系服务的职责。
- 10.2节介绍使用Redis ZSET对象实现用户关系服务的方案。
- 10.3节介绍使用数据库实现用户关系服务的方案。
- 10.4节介绍应该如何设计用户关系的缓存。
- 10.5节介绍使用图数据库实现用户关系服务的方案。
本章关键词:关注列表、粉丝列表、ZSET、分库分表、联合索引、伪从、图数据库。
10.1 用户关系服务的职责
用户关系服务负责处理用户之间的关注行为,其提供的相关接口应该包括如下几个。
- 关注与取消关注的接口 :用户1可以关注用户2,即用户1是用户2 的粉丝;同样,用户1可以取消对用户2的关注,即用户1不再是用户2 的粉丝。
- 查询用户关注列表的接口:查询某用户正在关注其他哪些用户,且应该按照最新关注在先的顺序排列。
- 查询用户粉丝列表的接口:查询某用户正在被其他哪些用户关注,且应该按照最新粉丝在先的顺序排列。
- 查询用户的关注数与粉丝数的接口:查询某用户正在关注几个用户,以及正在被几个用户关注。
- 查询用户关系的接口:查询用户1是否关注了用户2,或者说用户2的粉丝是否包含了用户1。还有批量查询形式,即查询用户1是否关注了指定的若干用户(批量查询关注关系),以及若干用户是否是用户1的粉丝(批量查询粉丝关系)。