redis rua解决库存问题_redis 解决库存并发问题(数量控制)

本文介绍了Redis如何利用单进程特性简化并发库存控制,对比了Redis与Memcached在大数据存储性能上的差异,并提供了exists、set、get、incr等命令的使用示例,以及在商品抢购等场景下的应用。通过两种并发控制方案(方案1:检查库存并 incr;方案2:使用setnx确保唯一性后再 incr)防止库存超限。
摘要由CSDN通过智能技术生成

redis是单进程,阻塞式,在同一时刻只能处理一个请求,后来的请求需要排队等待。

优点:因为是单进程,所以无需处理并发问题,降低 系统复杂度

缺点:不适合缓存大尺寸对象(超过100kb)

原因: 由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。

而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis也在存储大数据的性能上进行了优化,但是比起Memcached,还是稍有逊色。

memcache是多进程,非阻塞式,如果仅仅作为缓存来用,可以用memcache更合适

一、命令

exists 查看该键key是否已存在redis中, 例如 exists mycounter

set  设置初始化一个key值  例如   set mycounter 99

get 获取一个key值  例如  get mycounter

incr 自增1              例如 incr mycounter   //输出结果为100

incrby 指定增长值   例如 incrby  mycounter 2 //输出结果为102

指定减少值   例如 incrby  mycounter -2 //输出结果为100

setnx  当值不存在时,设置该值成功    例如 setnx mycounter  99  //输出结果为0,代表设置失败,已存在redis中

setnx key1 12 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值