订单并发而导致库存出现脏数据问题

使用乐观锁

本质上是不加锁,数据查询时不加锁,对数据修改时就行条件限制

  • select语句查询出目前库存,比如为100
  • update时在添加where条件,库存需要为100,更新商品信息时判断商品库存是否等于原始库存,如果等于则更新成功,如果失败则最多尝试3次更新,否则下单失败。

事务回滚

我们在操作订单时如果下单失败,需要

赏个🍗吧
0%