在MongoDB中显示流行度等动态数据的最佳策略

时间:2017-03-17 15:34:24

标签: mongodb yii2

在我们的应用程序中,我们必须显示最受欢迎的文章,但在趋势,热门,相关等数据的情况下可能需要相同的策略。

  • 我们有2个馆藏[文章]和[评论]文章有多个评论。
  • 我们想展示最受欢迎的[文章]。
  • 基于一些复杂的公式来计算流行度,但我们假设公式总和[文章]视图的总数和总[评论]计数。我们假设,如果公式计算1篇文章的受欢迎程度,那么它将考虑所有[文章]以使其在其他文章中排名。
  • 正如您所看到的,用户不断增加观看次数并添加更多评论。每天不同的文章都可以成为最受欢迎的文章之一。

问题如下:如何显示最新数据而不会通过查询向数据库发送垃圾邮件?

  • 我正在考虑预定的cron工作(在我们的后端应用程序中),这将更新[文章]普及的人气。每小时然后将其保存在文章本身。这样,当用户访问该页面时,不需要计算任何内容,我们可以处理已保存的数据。
  • 可能还有可能构建一个足够快的查询并根据需要计算受欢迎程度,但我不知道是否可能。

什么是最好的策略?在后台计算数据并使其保持最新,构建高级查询或其他不同的东西?

0 个答案:

没有答案