zoukankan      html  css  js  c++  java
  • 【Redis】String应用场景

    • 单值缓存
    SET key value
    
    GET key
    • 对象缓存
    SET user:1 value(json格式数据)
    
    MSET user:1:name value1  user:1:balance value2
    
    MGET user:1:name  user:2:balance
    为什么不用hash存储呢?
    
    如果想获取一个对象数据(user1)的name,那么需要把user1的所有数据拿出,在单独获取name;如果用STRING格式,那么只需要取出user:1:name数据即可。
    • 分布式锁
    线程1:SETNX product:10001 true //返回1代表锁获取成功
    
    线程2:SETNX product:10001 true //返回0代表所获取失败
    #减库存方法:
    SETNX product:1001 true
    查询商品1001的库存
    减库存
    重新把减完剩余的库存更新回数据库
    del product:1001
    • 计数器(原子操作)
    #计算浏览量和阅读量等

    INCR article:readcount:{文章id} GET article:readcount:{文章id}
    • Web集群session共享
    Spring Session + Redis 实现Session共享
    • 分布式系统全局序列号
    #分库分表情况下,若采用mysql自增ID,那么可能会产生重复,所以可以采用Redis记录全局序列号
    
    INCRBY orderId 1000 //redis批量生成序列号提升性能
    学而不思则罔 思而不学则殆 !
  • 相关阅读:
    第五天站立会议记录
    第四天站立会议
    第三天站立会议
    第二天站立会议
    冲刺会议第三天
    冲刺会议第二天
    团队建议总结
    第二次冲刺第一天
    项目总结(09)
    第七天站立会议
  • 原文地址:https://www.cnblogs.com/boluopabo/p/12835281.html
Copyright © 2011-2022 走看看