Redis实现自动增加阅读量的设计策略(redis阅读量自增设计)
Redis是一种开源的速度超快的键值(key-value)数据库,具有较高的性能和灵活的使用方式。它一般被用分布式缓存、数据持久化,以及实现排行榜功能等方面。在实现网站上自动增加阅读量,使得文章在首页上曝光率更高方面,Redis也可以发挥至关重要的作用。
1、全局字典(hash):
构造一个全局变量g_view记录文章各自的阅读量,由此可以统计出热门文章。此外单独给每篇文章绑定阅读量也是可以实现的,这里以用一条Redis的字典Hash来实现,根据文章的ID来记录,实现:
#初始阅读量置"0"
HSET g_view {article_id} 0#每访问一次,阅读量加1
HINCRBY g_view {article_id} 1#获取阅读量
HGET g_view {article_id}
2、ZSet实现排行榜:
为了让可以查看排行榜,可以使用ZSet类型数据结构,借助它的有序特性,把每篇文章的阅读量存放在有序集合中,并用score代表阅读量,从而支持排序:
#添加阅读量
ZADD g_topview {score} {article_id} #获取阅读量排行
ZRANGEBYSCORE g_topview 0 +INF
由Redis实现自动增加阅读量的方案包括全局字典hash和有序集合ZSet,这样不仅可以在短时间内随机分布阅读量,还可以实现排行榜功能。