购物车结算生成订单时,需要对购物车中每件商品进行库存校验,和库存预扣除
我现在想到了两种方案
第一种:
是每次只获取一个商品的锁,然后查询判断库存,预扣除,然后释放锁,之后的商品都走一遍这个流程
第二种:
是一次性获取到所有需要结算的商品的锁,然后一次性查询出所有商品库存,进行库存判断,预扣除,然后释放所有的锁
两种方法目前我能想到的利弊:
第一种如果商品多了,访问数据库就会比较频繁,但是锁单件商品的时间短了
第二种如果商品多了,访问数据库虽然不会很频繁,但锁持有的时间肯定比第一种方法要长(而且是所有需要结算商品的锁)
哪种方法比较合适,或者有什么更好的方法
希望各位大神指导指导
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.