微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis 数据类型常见应用场景

目录

1、String 应用场景

2、Hash 应用场景

3、List 应用场景

4、Set 应用场景

4.1、投票/参加活动/抽奖,要防止重复投票

​4.2、对消息进行点赞,也要防止重复点赞

4.3、微关系:sinter sunion sdiff,集合并、并、差

5、ZSet 应用场景

5.1 腾讯新闻话题榜Redis设计实现, 以日期做为Key


1、String 应用场景

计数功能文章编号为001) INCR article:001        GET  article:001

各类场景下(单机或分布式)的标识号 incrby serialNo 1000

集群环境下的Session共享 使用spring session与redis完成session共享

String实现分布式锁

2、Hash 应用场景

1、电商中购物车;

3、List 应用场景

List应用场景 :
1、模拟栈、队列、阻塞队列,数据结构;
   栈:lpush lpop 或者 rpush rpop
   队列:lpush rpop  或者 rpush lpop
2、推送消息列表
   例如:登录微信,微信账号会收到被推送的/订阅的消息列表

 

4、Set 应用场景

4.1、投票/参加活动/抽奖,要防止重复投票


4.2、对消息进行点赞,也要防止重复点赞

 

 


4.3、微关系:sinter sunion sdiff,集合并、并、差

 

 

5、ZSet 应用场景

     常用于排行榜,如视频网站需要对用户上传视频做排行榜,或点赞数与集合有联系,不能有重复的成员。

5.1 腾讯新闻话题榜Redis设计实现, 以日期做为Key

1)点击话题 zincrby topic:20191022 1 军嫂怒怼张馨予  

2)  右侧排行实现,展示今日前9排名 zrevrange  topic:20191022 0 20  withscores

3)统计近3日点击数据 zunionstore topic:3day 3  topic:20191022  topic:20191021 topic:20191020

4) 展示近3日的排行前9名 zrevrange topic:20191022-20191020  0  9   withscores

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐