1
3
所以,如果你想确保准确地将库存映射到订单上,就必须锁定库存。如果你打算这么做,问题是你把锁放在哪里。当一个项目被添加到购物车,当用户去付款或付款完成。但是锁的问题是它会让你的系统变慢。 所以这是你应该避免的。 剩下的所有选项,你已经涵盖在你的问题,它归结为权衡。 首先,用户体验将受到影响,您还需要承担交易成本。 第二种选择是要求你准备好卖少卖多卖。 当你保留储备的时候,你基本上是在说我会卖得太少。这也可能适得其反,因为假设你决定预订5件商品,但在结帐和付款时,你同时收到20件商品,你就会回到原点。但它可以帮助在大多数情况下,考虑到你愿意接受打击。 结帐时进行库存检查可以帮助您获得更好的库存解决方案,但当您实际拥有库存中的最后一个项目,并且有10个人对其进行结帐时,这将无济于事。阅读电话,即使两个这样的要求相吻合,你会给他们库存和回到原点一。 所以在这种情况下,我要做的是 根据一些分析,我们配置库存检查。对于高和非常高,我们不会做任何检查和预订的项目。关键的,我们拿了锁。(不完全是一个数据库锁,但我们为他们保留库存),对于低和中,我们检查库存,如果我们有足够的继续。所有这些值都是可配置的,可以帮助我们缓解现有的情况。
上述方法不会帮助您精确地解决问题,但它为您提供了一定程度的自由,使您能够管理库存。 |
2
0
(好处:Redis提供原子操作,因此您也可以在订购产品时成功地处理竞争条件。) |
aero · 提交按钮未在我的PHP页面中向购物车添加项目 6 年前 |
TimelordNeill · 如何将对象从过滤器传递到动作方法? 6 年前 |
Alexandr Belov · 角度4函数仅在第二次时起作用 7 年前 |
Milinda · Magento奖励车不会返回要花费的总积分 7 年前 |