背景
年前開發的問題,總結一下:
使用者在**頁面領取新客券,領過的使用者不能再次領取,整個新使用者領券邏輯如下:
step 1: 驗證商家是否登入、是否是老使用者(r)
step 2: 驗證該商家是否領取過新客券(查詢該商家擁有的優惠券是否含有新客券)(r)
step 3: 領取新客券(w)
step 4: 修改優惠券統計資訊(w)
step 5: 返回該商家剛剛領取的新客券(查詢介面同step 2)(r)
坑一:線上出現同乙個使用者領取多套優惠券情況
解決辦法
增加分布式鎖,使用 redis 快取,大致**如下:坑二:加鎖後仍然出現乙個使用者領取多套優惠券情況// @transaction
step 1: 驗證商家是否登入、是否是老使用者(r)
try step 2: 驗證該商家是否領取過新客券(查詢該商家擁有的優惠券是否含有新客券)(r)
step 3: 領取新客券(w)
step 4: 修改優惠券統計資訊(w)
step 5: 返回該商家剛剛領取的新客券(查詢介面同step 2)(r)
} finally
解決辦法
坑三:主從庫延時可能導致使用者領取新客券出現問題需要遵守:// @transaction
step 1: 驗證商家是否登入、是否是老使用者(r)
if(!lock.lock())
try finally
lock.lock();
tryfinally
解決辦法
強制該事務中的sql(包括讀和寫操作)都走主庫
騰訊雲優惠券領取 騰訊雲代金券免費領取
伴隨著各個行業的快速發展,很多企業開始將目光放在 雲端 這意味著在網路時代風雲變幻的複雜環境下,企業在運營 統籌以及運籌帷幄等多項領域內,能夠更快 更準 更好地把握數位化經濟所帶來的紅利。在這其中,騰訊雲作為國內頭部雲服務品牌之一,正在競爭日益激烈的公有雲服務市場中縱橫馳騁!2019 年,當國內公有...
優惠券收集人問題
它是乙個經典的統計問題,有很多實際應用。這個問題從一套物件中拿出乙個物件,然後找到要將所有需要拿的物件都至少拿出來一次,需要拿多少次。為了敘述方便,以撲克牌為例。一副打亂的52張撲克牌,找出在看到每種花色都有一張出現前,需要選多少次。編寫程式,模擬要得到四張不同花色的牌所需要的選取次數,然後顯示選中...
全自動領取天貓雙11優惠券教程!
雙十一爆款清單 天貓爆款清單 天貓雙11爆款清單 自動領取天貓雙11優惠券教程!第一步 開啟2015年天貓雙十一領券頁面 記住一定要先 登入 記住一定要先 登入 記住一定要先 登入 console.log 領取 第 index 張 settimeout getcoupon,interval sett...