1. 程式人生 > >京東、淘寶的減庫存操作,加購物車時減?建立訂單時減?

京東、淘寶的減庫存操作,加購物車時減?建立訂單時減?

前幾天,在瀏覽京東購物車時,我的購物車內有一件商品剛好顯示庫存為:僅剩1件,所以就探索了一下商城網站的減庫存操作。

具體過程

首先購物車中是這樣的:
在這裡插入圖片描述
找到這件商品
在這裡插入圖片描述
繼續加購物車,看是否成功:
在這裡插入圖片描述
我發現,無論加幾件到購物車,仍然顯示只剩一件,我共加了四件
在這裡插入圖片描述
到這裡,可以確認在加購物車時,庫存是沒有減的。
然後我點選了去結算,這時讓我填寫訂單內容,即收穫地址之類的內容,此時再看這件商品,仍然顯示只剩一件,還沒減。
然後我點了提交訂單,到了收銀臺介面,如圖:
在這裡插入圖片描述
再次檢視這件商品,這個時候,庫存減了,顯示無貨:
在這裡插入圖片描述
所以得出結論:京東是在提交訂單時,進行了減庫存的操作,在這裡才真正進行了資料庫的寫操作

然後我又取消了訂單,又可以看到這件商品了
在這裡插入圖片描述

我又嘗試了,使用兩個賬號,分別在app端和pc端,同時加入購物車,同時去結算的操作,結果:
只能有一個訂單建立成功(這不是模擬高併發),在pc端檢視商品:
在這裡插入圖片描述
同時操作後:
pc端成功,還可以看到,僅剩1件的提示,在這裡插入圖片描述
app端建立訂單失敗:
在這裡插入圖片描述

結論

商城網站淘寶也是如此,加購物車時,包括點選去結算時,資料庫是沒有進行減庫存操作的,在點選提交訂單的一瞬間(相比於放到支付成功,減庫存,提交訂單這一瞬間的操作,使用者體驗會更好,同時也避免真的出現超賣等問題),進行了資料庫的讀寫。