String类型使用场景
计数器
例如一篇文章有多少人看过使用
INCR article:readcount:文章id
取值为GET article:readcount:文章id
hash类型使用场景
电商的购物车
hset cart:用户id 商品id 商品数量
增加同样商品的数量
hincrby cart:用户id 商品id 商品数量
取出某商品的数量
hget cart:用户id 商品id
获取商品总数(用户加入了几种商品):hlen cart:用户id
删除商品种类:hdel cart:用户id 商品id
获取所有商品: hgetall cart:用户id
list类型使用场景
最新消息展示在最前面
LPUSH care:1 消息1
LPUSH care:1 消息2
LPUSH care:1 消息3
取出前最新的两条数据消息
LRANGE care:1 0 1
set的使用场景
一:抽奖
1.参与抽奖
sadd activity:1 用户id
2.查看参与抽奖的所有用户
smembers activity:1
3.随机抽取两个人
srandmember activity:1 2
4:假如分一等奖、二等奖,一个人只能中一个奖或不中奖
spop activity:1 3
活动1中已经有3个人中奖了,再次查看抽奖用户的时候会排出这三个人的。
二:微信微博点赞,收藏,标签
1.点赞
sdd like:{消息id} {用户id}
2.取消点赞
srem like:{消息id} {用户id}
3.检查用户是否点过赞
sismember like:{消息id} {用户id}
4.获取点赞的用户列表
smembers like:{消息id}
5.获取点赞用户数
scard like:{消息id}
三:set集合之间的交集、并集、差集
sinter set1 set2 set3->{c}
sunion set1 set2 set3->{a,b,c,d,e}
sdiff set1 set2 set3->{a}
sdiff 用法已set1为基准 set1元素不在set2 set3的并集中的元素
--------------------------------------------------------------
备注:以上知识点整理来自于诸葛老师