Redis的数据结构以及使用场景

redis的五种基本数据类型

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合set

1. String应用场景

  • 计数器
    INCR article:readcount:{文章id}
    GET article:readcount:{文章id}

  • Web集群session共享
    spring session +redis实现session共享

  • 分布式系统全局序列号
    INCRBY orderId 1000

2. Hash应用场景

  • 电商购物车
    1)以用户id为key
    2)商品id为field
    3)商品数量为value
    购物车操作
    1)添加商品->hset cart:1001 10088 1
    2)增加数量->hincrby cart:1001 10088 1
    3)商品总数->hlen cart:1001
    4)删除商品->hdelcart:1001 10088
    5)获取购物车所有商品->hgetall cart:1001
    在这里插入图片描述

  • 优点
    1)同类数据归类整理储存,方便数据管理
    2)相比string操作消耗内存更小
    3)相比string储存更节省空间

  • 缺点
    1)过期功能不能使用在field上,只能用在key上
    2)Redis集群架构下不适合大规模使用

3. List应用场景

  • Stack(栈)= LPUSH + LPOP ->FILO
  • Queue(队列) = LPUSH+RPOP
  • Blocking MQ(阻塞队列) = LPUSH+BRPOP

4. Set应用场景

  • 微信抽奖小程序
    在这里插入图片描述
  • 微信微博点赞、收藏、标签
    在这里插入图片描述
  • 集合操作
    在这里插入图片描述
  • 集合操作实现微博微信关注模型
    在这里插入图片描述
  • 集合操作实现电商商品筛选
    在这里插入图片描述

5. ZSet应用场景

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值