Redis数据结构使用场景
程序员文章站
2022-07-10 23:27:20
...
Redis五种数据结构经典使用场景
一、String
统计网站页面总访问量(string):
1、SET page_view_count 0 #设置网站访问量的初始值为0。
2、INCR page_view_count #每当用户访问一次则增加一次
3、将每天的总统计数量同步到数据库里并将page_view_count设置为0
二、Hash
统计某个用户点击量(hash)
1、HSET user_id page_view_count 0 #设置用户访问量的初始值为0
2、HINCRBY user_id page_view_count 1 #当前用户每访问一次网站则增加一次
3、将每个用户每天的访问量同步到数据库里并将page_view_count设置为0
统计某个商品评论数(hash)
1、HSET goods_id comments_count 0 #设置商品评论数的初始值为0
2、HINCRBY goods_id comments_count 1 #每当评论成功一跳增加一次
3、将每个商品每天的评论数同步到数据库里并将comments_count设置为0
三、List
被关注人的微博更新排列处理(list)
1、RPUSH ranking article_id #当所关注人发表文章时将article_id压入列表。
2、LRANGE ranking 0,1 #获取列表中所有article_id。
3、通过article_id查询mysql中所对应的文章数据。
四、Set
好友共同关注某一篇文章处理(set)
RPUSH article_id user_id #将关注某篇文章的user_id添加到集合
2、LRANGE article_id 0,1 #获取列表中所有user_id。
3、通过user_id查询mysql中所对应的用户数据。
秒杀系统防止同一个人多次秒杀(set)
1、RPUSH seconds_kill user_id #将秒杀的user_id添加到集合。
2、LRANGE ranking 0,1 #获取列表中所有user_id。
3、处理秒杀业务。
五、Zset
文章的排行榜(zset)
1、
ZADD blog 0 redis_article_id
ZADD blog 0 mysql_article_id
...#将某各种文章的阅读量添加到有序集合里,并且阅读数设置为0
2、ZINCRBY blog 1 "redis_article_id" #每当有人阅读时将阅读数增加1
4、ZREVRANGE blog 0 -1 WITHSCORES # 将博客的阅读量从高到低排列出来
上一篇: redis数据结构HyperLogLog
下一篇: Python计算排列组合