七叶笔记 » 数据库 » Redis实战之百度首页新闻热榜的实现代码

Redis实战之百度首页新闻热榜的实现代码

目标

 利用Redis实现类似百度首页新闻热榜功能。

功能

新闻排行榜以热度为指标降序排序,这里假设热度就是评论数量且统计的热度时间范围以当天为准;根据新闻的时效性,这里假设每15分钟刷新一次新闻榜单。

分析 Zset数据类型:一个有序集合最多 个元素,集合元素有序不可重复,每个元素都会关联一个double类型的分数。元素根据分数从小到大的排序,分数可以重复。zscore命令可以对分数实现增量,且如果该Zset中没有该元素,则会创建该条数据。可以将模块名+当天的时间作为Zset的键,用户评论量作为分数,新闻标题作为值,每当用户评论一次新闻,分数则相应地加1。每隔15分钟提取新闻统计中的前30名(包含第30名)榜单,放入到新闻热榜的Zset中。

代码实现

控制层

 

业务层

 

工具类

到此这篇关于Redis实战之百度首页新闻热榜的文章就介绍到这了,更多相关Redis百度首页新闻热榜内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章