javaweb-怎麼防止多使用者同一時間搶購同一商品,防止高並發同時下單同一商品,大牛們獻出你們所積累的知識吧?請教

來源:互聯網
上載者:User
關鍵字 javaweb php update java
javawebphpupdatejava

最近在做搶購系統,但頭疼的是,在多使用者高並發的情況下經常會庫存出現問題。排查到,在同一時間內多使用者同時下單導致查詢和插入不同步了,而查詢中跟插入又有時間差而在高並發的情況下導致庫存問題(我的項目大概是這樣,首先 for update查出商品資訊表,放入全域表裡數組裡,當使用者扣款餘額成功後,update商品資訊表減去該使用者下單的數量。資料庫用的mysql,查詢商品資訊表的時候是加鎖過的,但商品資訊表資料越來越多的時候查詢有時間差,導致高並發的時候在查詢商品資訊表放進變數數組裡的時候,在執行後面的時間差裡,其他使用者也在下單,導致庫存有問題)。現在提問,同一時間內同一個商品防止多使用者搶購,也就是說同一秒內在高並發的情況下只能被一個使用者下單,目前的思路是排隊,阻塞隊列。但具體實現思路是怎樣或者大牛們是否有更好的方法,且實現思路是怎樣,有案例的話最好。實現語言是PHP。請教各位大牛決解方案

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.