Redis 能用在哪些场景下 ?

redis 可以应用到哪些场景下 ?

redis 的数据类型丰富,常用五种数据类型如下图:

1、字符串 String — 应用场景
  1. 短信验证码过期存储
  2. 热点数据对象缓存 set key value(json)
  3. token 过期存储 set key value
  4. 计数器(文章阅读、帖子阅读、点赞喜欢等) – 原子加减 incr key
  5. 分布式锁 – setnx key 返回1代表获取锁成功
  6. 分布式全局序列号 – incrby key 100
2、哈希 hash — 应用场景
  1. 对象缓存
    hmset student 1:zhangsan 1:23

  2. 电商购物车

    以用户ID 为 key
    商品ID 为field
    商品的数量为 value

    该数据结构操作购物车的操作:

    1. 添加购物车商品 – hset cart:981331 20121001 2
    2. 删除购物车商品 – hdel cart:981331 20121001
    3. 增加购物车商品数量 – hincrby cart:981331 20121001 1
    4. 查询该用户购车商品总数 – hlen cart:981331
    5. 获取购物车所有商品 – hgetall cart:981331

优点:

  1. 同类数据归类整合存储,方便数据的管理
  2. 相比string操作消耗内存与cpu更小
  3. 相比string存储更节省空间

缺点:

  1. 过期的效果不能用在 field ,只能用在 key 上 redis
  2. 高可用集群下不适合大规模的使用
3、列表 list — 应用场景
  1. 微博和微信公众号的消息
  2. Stack(栈) = lpush + lpop
  3. Queue(队列) = lpush + rpop
  4. Blocking MQ (阻塞队列) = lpush + brpop
4、集合 set — 应用场景
  1. 抽奖小程序
  2. 微信点赞
  3. 微博关注模型
  4. 电商商品筛选
5、有序集合 zet —应用场景
  1. top 10 排行榜
  2. 展示当日排行前十
  3. 10天搜索榜单计算
  4. 10天排行前十
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不像程序猿的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值