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

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

關于redis回滾的問題

看了這個redis的視頻,有一點困惑,就是在數據庫插入失敗時候的回滾機制,視頻中采用rPush的方式,將$uid重新插入到redis的末尾,這里不應該是lPush嗎?因為是從redis的左側取出數據的,按道理應該也是左側插入回數據吧?希望懂的同學解答一下,謝謝!

正在回答

3 回答

我也這么想的,肯定是他寫錯了,口里說的插入左邊,寫的RPUSH插入右邊。。。

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

慕斯1122527 提問者

非常感謝!
2018-05-31 回復 有任何疑惑可以回復我~

作者的隊列是從右邊插入左邊取出,如果從左邊取出的數據插入數據庫失敗,再從左側插入,那么下次再取的又是這個數據,如果上次插入是由于數據本身導致的失敗,那么下次的插入還是失敗,這樣就導致在左側取一個有問題的數據又從左側放回去一直循環下去,那么隊列后頭的數據沒法讀取處理了,在操作系統中這種情況也叫活鎖

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

慕斯1122527 提問者

有點意思,膜拜。
2018-10-15 回復 有任何疑惑可以回復我~
#2

qq_郝_0

那如果插入到右邊后,最終還是要執行到這個之前插入失敗的那組數據,依然會有問題啊
2018-12-13 回復 有任何疑惑可以回復我~
#3

qq_郝_0

這里的插入失敗是指mysql執行失敗,但數據不會有問題的。你設想,數據有問題插入不了,會返回報錯信息的,這個時候是不是應該去try catch去捕獲異常然后進行處理
2018-12-13 回復 有任何疑惑可以回復我~

到底是講錯了 還是插錯了

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

舉報

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

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

進入課程

關于redis回滾的問題

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

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

幫助反饋 APP下載

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

公眾號

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