Redis 数据类型String Hash list set使用场景

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的并集中的元素

--------------------------------------------------------------

备注:以上知识点整理来自于诸葛老师

发布了43 篇原创文章 · 获赞 2 · 访问量 629

猜你喜欢

转载自blog.csdn.net/qq_33348135/article/details/104365511