Redis数据类型及应用场景

一、8大数据类型

1.String
2.Hash
3.List
4.Set
5.ZSet(SortedSet)
6.Bitmap
7.HyperLogLog(统计)
8.GEO(地图)

二、5种类型的应用场景

2.1 String

1.商品编号、订单号等
用INCR命令增加
2.文章阅读量、点赞数和在看数
用INCR命令增加

2.2 Hash

1.购物车早期版本
(1)新增商品:hset shop:uid001 334 1
(2)增加商品数量:hincrby shop:uid001 334 1
(3)商品总数: hlen shop:uid001
(4)全部选择:hgetall shop:uid001

2.3 List

1.微信订阅公众号
(1)比如订阅了两个公众号,他们发布了两篇文章,文章ID分别为001和009,可以通过执行以下命令,将文章推送

LPUSH likearticle:id 001 009

(2)查看自己订阅公众号的全部文章,类似分页,0-10指一次显示10条

LPUSH likearticle:id 0 10

2.4 Set

1.微信抽奖小程序
(1)用户点击立即参与按钮,则执行sadd key useId将用户ID添加至set中
(2)显示有多少人参与了抽奖:SCARD key
(3)抽奖:

  • 随机抽奖2人,元素不删除:SRANDMEMBER key 2
  • 分一二三等奖,获得三等奖的3人不能参与一二等奖的抽奖,所以从set将该元素删除:spop key 3
    2.微信朋友圈点赞
    (1)新增点赞:SADD pub:msgID 点赞用户1 点赞用户2
    (2)取消点赞:SREM pub:msgID 点赞用户ID
    (3)展现所有点赞用户:SMEMBERS pub:msgID
    (4)点赞总数统计:SCARD pub:magID
    (5)判断某个朋友是否点过赞:SISMEMBER pub:msgID 用户ID
    3.微博共同关注的人
    SINTER 我关注的人 Ta关注的人
    4.QQ可能认识的人
  • 差集运算A-B:SDIFF key [key …]
  • 交集运算A∩B:SINTER key [key…]
  • 并集运算AUB:SUNION key [key …]
    SDIFF 我的好友 Ta的好友

2.5 Zset

  • 从小到大:ZRANK key member
  • 从大到小:ZREVRANK key member
    1.根据商品销量对商品进行排序显示
    (1)商品编号001的销量为2,编号002的销量为9:ZADD goods 2 001 9 002
    (2)客户又买了两件001商品:ZINCRBY goods 2 001
    (3)商品销量前10名:ZRABGE goods 0 10 WINTSCORES
    2.热搜
    (1)展示当日点击排行前10条:ZREVRANGE hot:20220719 0 9 WITHSCORES
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值