String
单值缓存,如商品库存
对象缓存,需要转成json格式
分布式锁
计数器,如文章阅读量,直接调用INCR指令加1
分布式系统全局序列号,最好用INCRBY orderId 100,批量式增加序列号,提高性能
Hash
对象缓存,相较于用String存储来说,能够单独获取和设置部分对象属性,如购物车,可以以用户Id为key,商品id为field,数量为value
List
常用分布式数据结构:栈、队列、阻塞队列
微博、微信消息流:1、读扩散:把所有博主帖子按照时间排序存储(List实现),用户查看时读取自己关注的博主的帖子
2、写扩散:博主发布帖子后将其存储到用户信箱(List实现),用户查看时直接调用LRANGE命令就可以获取最近的消息。如果一个大v有几千万粉丝性能较差怎么办?
Set
集合运算:交集、并集、差集
微信抽奖小程序:
微信微博点赞、收藏、标签,但是不能实现根据点赞先后排序,需要用ZSet
集合操作实现微博、微信关注模型
ZSet
排行榜