gavincoder 最近的时间轴更新
gavincoder

gavincoder

V2EX 第 501508 号会员,加入于 2020-07-30 09:54:05 +08:00
gavincoder 最近回复了
2020-09-04 14:24:51 +08:00
回复了 rqxiao 创建的主题 程序员 问下一般电商网站中,下单和减库存是怎么设计的
哈哈哈,我来总结一下:
①下单减库存,即当买家下单后,在商品的总库存中减去买家购买数量。下单减库存是最简单的减库存方式,也是控制最精确的一种,下单时直接通过数据库的事务机制控制商品库存,这样一定不会出现超卖的情况。但是你要知道,有些人下完单可能并不会付款。
②付款减库存,即买家下单后,并不立即减库存,而是等到有用户付款后才真正减库存,否则库存一直保留给其他买家。但因为付款时才减库存,如果并发比较高,有可能出现买家下单后付不了款的情况,因为可能商品已经被其他人买走了。
(☆)预扣库存,这种方式相对复杂一些,买家下单后,库存为其保留一定的时间(如 10 分钟),超过这个时间,库存将会自动释放,释放后其他买家就可以继续购买。在买家付款前,系统会校验该订单的库存是否还有保留:如果没有保留,则再次尝试预扣;如果库存不足(也就是预扣失败)则不允许继续付款;如果预扣成功,则完成付款并实际地减去库存。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5753 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.