Redis工作笔记-事务
目錄
?
?
概念
操作
?
?
概念
和其他數據庫一樣,Redis,作為NoSQL數據庫也是同樣提供了事務機制。在Redis中,MULTI/EXEC/DISCARD/WATCH這四個命令實現了事務。
下面是事務的幾個特點:
? ? ? ? ? ? ? ? ? ? 1. 事務中所有的命令都被串行化,在事務執行階段,Redis不再為其他客戶端提供任何服務,保證了事務中所有命令都被原子的執行;
? ? ? ? ? ? ? ? ? ? 2. 與關系型數據庫中的事務相比,在Redis事務中如果有某一條命令執行失敗,那么后面的命令任然會執行。
? ? ? ? ? ? ? ? ? ? 3. 通過MULTI開啟一個事務,就會關系型數據庫中的“BEGIN TRANSACTION”,通過EXEC/DISCARD命令提交以及回滾,和關系型數據庫COMMIT/ROLLBAC語言。
? ? ? ? ? ? ? ? ? ? 4. 在事務開啟之前,如果復活點與服務客戶端器之間出現通信故障導致網絡斷開,其后所有待執行的語句都將不會被服務器執行。然后如果網絡中斷事件是發生在執行EXEC命令后,那么該事務中的所有命令都將被服務器執行;
? ? ? ? ? ? ? ? ? ? 5. 當使用Append-Only模式時,Redis會通過調用系統函數write將該事務內的所有寫操作,全部寫入磁盤中,然而如果在寫入的過程中出現系統的崩潰,如電源故障導致的宕機,那么此時也許只有部分數據被寫入磁盤,而另外一部分數據已經丟失。Redis服務器會在重啟時執行一些列必要的檢測,一旦發現類似的問題,就會立即退出并給出相應的錯誤提示。此時,就要充分利用Redis包提供的redis-check-aof工具,該工具可以幫助定位到數據不一致的數據,并將已經寫入的部分數據進行回滾。修復后就可以重新啟動Redis服務器。
?
?
操作
multi incr t1 incr t2 exec事務中存在失敗的命令
multi set a 3 lpop a set a 4 exec總結
以上是生活随笔為你收集整理的Redis工作笔记-事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java工作笔记-使用IDEA开始我的第
- 下一篇: Spring Boot笔记-mysql5