热门评论实时计算Redis实现方案(热门评论计算redis)
《热门评论实时计算:Redis实现方案》
热门评论实时计算是现阶段社交互联网中常见的一项功能,是根据用户行为中的热搜和话题热搜来实时计算,给出热门评论排序。为了满足实时性需求,我们可以采用内存缓存形式,将实时计算出热门评论排序结果放到内存中。下面就介绍一种基于Redis的热门评论实时计算方案。
以博客园的评论为例来说明热门评论实时计算的具体流程。当用户发表评论时,服务端会把相关信息(坐标、评论时间、点赞数等)和评论的内容进行存储,同时使用Redis的队列(List)来存储每个话题的热度值,并进行实时计算。评论提交时,实时计算出热门评论:
//将评论内容和相关信息存储到Redis中
hmset(‘comment_list’,{ ‘coord’:’12.34‘,
’time’:’2018-01-01 12:00:00‘, ’likes_num’: 38
})//热门评论实时计算,把计算结果存入Redis
incrby("comment_hot",(time-1514752000) * likes_num)
除了相关数据的存储和热门评论的实时计算,Redis还可以根据提交的评论内容进行实时的热搜和话题热搜的统计。举例来说,如果有一条评论“地铁太多人了”,可以使用Redis缓存进行实时热搜,把提交评论的用户信息和相关统计进行存储和计算。
//提交评论时,缓存相关信息
hmset('topic_list',{ 'user_id' : 1234,
'user_name' : 'Tony', 'contents' : '地铁太多人了'
})//实时计算话题搜索,把计算结果存入Redis
incrby("topic_hot", 1)
通过以上Redis存储和计算,让服务端可以实时获取最新的评论排序、热搜,及话题热搜信息。
Redis在热门评论实时计算方面有着得天独厚的优势,不仅可以实现实时存储和计算,还可以实现实时获取最新的评论排序、热搜和话题热搜信息,大大提升了社交互联网的实时性。
相关文章