Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

很多社交平台,都有这步功能:

1.根据用户偏好设置,每天 8点 推荐符合条件的用户

2.当数据库里查询不到满足条件的人时,会自动扩大范围查询

3.每天出现重复的人的几率很小

如图例:
image
image
image

有小伙伴们知道这个业务逻辑怎么实现不?后端的数据表结构怎么设计呢?

up!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.9k views
Welcome To Ask or Share your Answers For Others

1 Answer

像这种不是实时更新的内容比较好办。说自己的理解:

  1. 内容是定制的,所以肯定不能实时获取,可以在在每一天低峰(傍晚)开启定时任务,为每一个定制的用户生成定制的数据,8点直接获取就可以了
  2. 至于运算生成的结果:

    1. 首先是根据条件查找,这个查找就需要看怎么设计了,一般不是直接通过数据库来操作的,一般是通过 ES 进行搜索,因为涉及到匹配度的问题,去重ES里面好像也可以做。
    2. 这种一般不直接通过数据库筛选做到,因为太麻烦了,排序筛选,去重,每一步都是高消耗。用户太多完全不得行,当然不知道那些巨佬是怎么弄得,我只是打工人

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...