关注
February 27, 2023About 2 min
关注
关注和取关
- 关注和取关两个接口
- 判断是否关注的接口
这个放到表里面,联系集
共同关注
使用 redis set 结构实现
sinter
指令可以实现集合求交集
关注推送
也叫 Feed 流。
两种模式:
- Timeline:不做内容筛选,简单的按照内容发布时间排序,常用于好友或关注,例如朋友圈
- 优点:信息全面
- 缺点:信息噪音较多,用户不一定感兴趣,内容获取效率低
- 智能排序:利用智能算法屏蔽掉违规的、用户不感兴趣的内容。推送用户感兴趣信息来吸引用户
- 优点:用户粘度高
- 缺点:如果算法不精准,可能起到反作用;且实现复杂
Timeline 的三种模式
拉模式:读扩散
优点:节省内存;缺点:延迟高、实现复杂
推模式:写扩散
优点:快、实现简单;缺点:占用内存高
小规模网站就用推模式就可以了
推拉结合模式:兼具推和拉两种模式的优点
大 V:放到发件箱,并推给活跃粉丝
普通人:推给所有粉丝
粉丝收件箱只要用 redis zset 存 id 就可以了
Feed 流中的数据会不断更新,所以数据的角标也在变化,因此不能采用传统的分页模式。
需求:时间戳排序,滚动分页查询
list 只能用角标查询,无法实现滚动分页
zset 可以用分数排序,但是分数是不会变化的,无法实现滚动分页