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

為了賬號安全,請及時綁定郵箱和手機立即綁定

一點小疑惑

第一步判斷隊列長度,第二步插入隊列。

那如果瞬時多個請求同時到達,是不是會有這一種情況出現:

第一步得到的值都是小于10的(因為還沒走到第二步),然后真正插入到隊列中的數據就會超過設定值?

正在回答

1 回答

確實會有這樣的問題發生,解決方案有兩個:

1、提前將秒殺數據寫入到隊列中,比如你寫10個隨機數(token)進入隊列,然后有請求過來的時候,你開始pop這個token,并判斷得到的值是否為空,如果為空說明10個token已經被取完了,秒殺結束。因為pop是redis的原始操作,不用擔心重復返回相同值的問題。

2、在你的消費進程中設置為單線程處理,只處理10個記錄。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP消息隊列實現及應用
  • 參與學習       32757    人
  • 解答問題       67    個

消息隊列是個什么玩意兒,使用隊列解決秒殺等實際問題概念和使用方法

進入課程

一點小疑惑

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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