亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

秒殺場景下 如何保證數據準確

秒殺場景下 如何保證數據準確

Smart貓小萌 2019-04-13 08:36:43
秒殺時商品價格遞增,比如第一個買的兩百,第二個買的三百,第三個四百以此類推,同時修改庫存等其他表在更新的時候防止超賣等問題我用的是行鎖,插入的時候為了確保數據準確使用了唯一索引但是帶來的問題是秒殺成功率低請問在插入或者更新的時候如何保證數據的準確性與完整性和相對較高的處理效率,因為之前沒做過類似應用希望大家能給出思路
查看完整描述

2 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

秒殺自古只有一個問題:
機器與程序性能是否能支撐住秒殺業務。
能撐住就隨便玩,撐不住,那就使用各種【優化】:
1.秒殺前,對參與秒殺的用戶進行登記,不登記的無法秒殺。
登記的作用是,篩選出參與秒殺的用戶,一般這個量比較少,把他們的數據放入專用表里,可以提高檢索速度。
2.使用C或C++寫的高速隊列來為后端數據庫減壓,同時也容易保證數據的正確性。
3.使用分時算法,也就是5秒內,數據庫以日志的形式,寫入所有人的秒殺數據,此時數據庫不能進行其他任何操作,比如查結果。5秒后,關閉寫入,此時對日志進行去重、合法性判斷等操作,這個過程中數據庫同樣不能進行其他任何操作,比如寫入秒殺日志。這些操作進行完畢后,向客戶端返回秒殺結果。接著,再進行5秒鐘的秒殺日志寫入操作。這種方法,在參與人數遠遠大于商品數量的時候,特別有效。
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 522 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號