使用Redis 5.0.3为关注者创建排名的feed

时间:2019-02-24 15:43:09

标签: redis

这个问题是关于通过redis中可用的各种数据结构实现写扇出。


我有一个python构建的Web应用程序,用户在其中发布内容供访问该应用程序的内容消费者使用。该应用程序具有中级用途-每天约有2万活跃用户。

到目前为止,每个用户都查看“通用”供稿。每个人都是一样的。我想实现自定义的提要功能。用户应该只查看他们关注的内容。

最简单的方法是将filter(None, lst) post_id放入每个关注者的专用列表中。一旦/如果所述关注者上线,他们就可以查看与其相关的最新商品。

足够简单。当我想显示按时间排序的Feed时,此方法效果很好。

但是,如果我想包括用户投票和时间衰减的影响,以向每个关注者显示排名高的Feed,该怎么办?

我可以为每个用户使用排序集,并使用lpush进入具有给定分数的相关列表。

但请考虑以下事实:投票是一个持续的过程。因此,必须有一种更好的方法,而不是在获得新投票的项目上为每个关注者更新排序后的集合

通过目前提供的redis API(即版本zadd),有什么更好的方法来完成这种提要。

0 个答案:

没有答案