趋势帖子系统在服务器内部究竟是如何以及在哪里工作的?



我知道这个问题对你来说相当简单,有很多相关的答案,但没有一个能解释我需要的所有内容。

所以你们一定都去过YouTube,在那里你们一定看过热门帖子部分,其中列出了所有观看次数/喜欢/不喜欢次数最多的视频(我不确切知道(。现在,所有这些视频都来自不同的频道。

我想知道:

  1. 服务器内部必须有一个算法或函数才能做到这一点?如果有,那么它何时运行,即,结果是否在服务器内准备就绪,就像谷歌搜索引擎一样---根据页面的排名存储页面,每当有人搜索时,它都会提供结果。

  2. 上面的算法遍历了每个帖子,对吧?但是什么时候呢?它怎么知道这个 youtuber 的这篇文章获得了这么多的观看次数或很多观看次数。

  3. 现在,在它知道哪些帖子是趋势之后---它们存储在哪里。比如,如果我们采用 mongodb 数据库。它是否保存在不同的集合中,例如热门帖子或其 ID

我知道上述问题一定是令人困惑的,因为我的一半(或没有(知识。但是,请帮助我知道这一切。我试图得到这个答案很长一段时间。感谢任何指南或教程。谢谢!

对于"热门帖子"功能,您必须存储每个视图/喜欢/等(无论您认为是"流行"的指标(。您还需要存储时间戳,以便您可以选择"当前受欢迎程度"而不是"过去"。也许可以存储观众的一些身份,以便每个访问者只计算一次。

接下来,您必须找出当前哪个帖子正在流行。为此,您需要找出过去一段时间内浏览次数最多的帖子。这取决于您(以及您正在运行的系统的性质(是否使用小时、几天、几周甚至几个月。

此查询可能过于昂贵,无法在每个网页浏览中运行,而且结果每分钟都不会有太大变化。因此,您可以按某个计划运行它,例如每小时运行一次。同样,这取决于您决定您想要/需要它的准确性。也许每小时运行几次,或者每天只运行一次。您确实需要将"热门帖子"列表存储在某处,以便轻松显示它。

最新更新