什麼是事務
Redis執行指令過程中,多條連續執行的指令被干擾,打斷,插隊
redis事務就是一個命令執行的佇列,將一系列預定義命令包裝成一個整體(一個佇列)。當執行時,一次性按照新增順序依次執行,中間不會被打斷或者干擾。
一個佇列中,一次性、順序性、排他性的執行一系列命令
事務的基本操作
開啟事務
multi
作用
設定事務的開啟位置,此指令執行後,後續的所有指令均加入到事務中執行事務
exec
作用
設定事務的結束位置,同時執行事務。與multi成對出現,成對使用
注意:加入事務的命令暫時進入到任務佇列中,並沒有立即執行,只有執行exec命令才開始執行
事務定義過程中發現出了問題,怎麼辦?
取消事務
discard
作用
終止當前事務的定義,發生在multi之後,exec之前
事務的工作流程
定義事務的過程中,命令格式輸入錯誤怎麼辦?
語法錯誤
指命令書寫格式錯誤處理結果
如果定義的事務中所包含的命令存在語法錯誤,整體事務所有命令均不會執行。包括哪些語法正確的命令
定義事務的過程中,命令執行出現錯誤怎麼辦?
執行錯誤
指命令格式正確,但是無法正確的執行。例如對list進行incr操作處理結果
能夠正確的命令會執行,執行錯誤的命令不會被執行
注意:已經執行完畢的命令對應的資料不會自動回滾,需要程式設計師自己在程式碼中實現回滾。
本作品採用《CC 協議》,轉載必須註明作者和本文連結