热门的规则
对于热门文章的定义是:
单位时间内,(”分享“数 + ”点赞“数 + ”评论“数)的总和大于某特定值的文章,被视为热门文章。
热门文章的列表是由后台动态生成的,而且在每次生成的时候,产生的数据不一定是相同的。为了减轻系统的压力和提高api的响应速度,该计算任务使用celery 进行后台任务调度。
后台定时任务是循环任务,任务执行时向缓存数据库中插入当前时段计算出的热门文章索引值,缓存数据库采用的是redis。
定时任务的实现
- 将新增的热门文章索引写入缓存数据库中,插入的时候,score 值取当前时间戳。
- 清除一定时间前的热门文章。