Skip to main content

关注

David LiuAbout 2 min

关注

关注和取关

  1. 关注和取关两个接口
  2. 判断是否关注的接口

这个放到表里面,联系集

共同关注

使用 redis set 结构实现

sinter 指令可以实现集合求交集

关注推送

也叫 Feed 流。

截屏2023-02-11 11.08.57

两种模式:

  • Timeline:不做内容筛选,简单的按照内容发布时间排序,常用于好友或关注,例如朋友圈
    • 优点:信息全面
    • 缺点:信息噪音较多,用户不一定感兴趣,内容获取效率低
  • 智能排序:利用智能算法屏蔽掉违规的、用户不感兴趣的内容。推送用户感兴趣信息来吸引用户
    • 优点:用户粘度高
    • 缺点:如果算法不精准,可能起到反作用;且实现复杂

Timeline 的三种模式

  • 拉模式:读扩散

    优点:节省内存;缺点:延迟高、实现复杂

  • 推模式:写扩散

    优点:快、实现简单;缺点:占用内存高

    小规模网站就用推模式就可以了

  • 推拉结合模式:兼具推和拉两种模式的优点

    大 V:放到发件箱,并推给活跃粉丝

    普通人:推给所有粉丝

截屏2023-02-11 11.22.16

粉丝收件箱只要用 redis zset 存 id 就可以了

Feed 流中的数据会不断更新,所以数据的角标也在变化,因此不能采用传统的分页模式。

需求:时间戳排序,滚动分页查询

list 只能用角标查询,无法实现滚动分页

zset 可以用分数排序,但是分数是不会变化的,无法实现滚动分页

截屏2023-02-11 11.39.25