怎么防止超卖
- mysql的排它锁(配合失误)
UPDATE seller_product_goods SET product_stock = product_stock - #{number} WHERE id = #{id} AND product_stock > (#{number} - 1)
- 版本号
select version from goods WHERE id= 1001
update goods set num = num - 1, version = version + 1 WHERE id= 1001 AND num > 0 AND version = @version(上面查到的version);
- redis的预减库存
每一个用户线程进来,key值就减1,等减到0的时候,全部拒绝剩下的请求
浙公网安备 33010602011771号