目录
1、String 应用场景
2、Hash 应用场景
3、List 应用场景
4、Set 应用场景
4.1、投票/参加活动/抽奖,要防止重复投票
4.2、对消息进行点赞,也要防止重复点赞
4.3、微关系:sinter sunion sdiff,集合并、并、差
5、ZSet 应用场景
5.1 腾讯新闻话题榜Redis设计实现, 以日期做为Key
计数功能(文章编号为001) INCR article:001 GET article:001
各类场景下(单机或分布式)的标识号 incrby serialNo 1000
集群环境下的Session共享 使用spring session与redis完成session共享
String实现分布式锁
1、电商中购物车;
List应用场景 :
1、模拟栈、队列、阻塞队列,数据结构;
栈:lpush lpop 或者 rpush rpop
队列:lpush rpop 或者 rpush lpop
2、推送消息列表
例如:登录微信,微信账号会收到被推送的/订阅的消息列表
常用于排行榜,如视频网站需要对用户上传视频做排行榜,或点赞数与集合有联系,不能有重复的成员。
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