Redis基礎學習(五) Redis中的事務

2021-10-17 12:24:28 字數 806 閱讀 9976

redis的單條命令保證原子性,事務不保證原子性!

事物的本質:一組命令的集合,乙個事務中所有的命令都會被序列化,在事務執行的過程中,會按照順序進行執行!

事務的特性:一次性(單次),順序性(有順序),排他性(排除干擾)。

redis的事務沒有隔離級別的概念!所有的命令都在事務中,並沒有被立刻執行,只有在發起執行命令的時候才會執行。

開啟事務,進行入隊,未進行執行,取消事務,所有操作都不執行。

所有的命令都不會執行

非編譯性異常,在執行過程中報錯,雖然有報錯,但是其他的命令會執行。

很悲觀的認為很多時候都會出問題,無論做什麼都會加鎖。

很樂觀的認為很多時候都不會出問題,所以不會上鎖,在更新資料的時候判斷一下在此期間是否有人修改過這個資料(查詢版本)。

新增監視之後,執行緒1在執行事務的過程中,執行緒2對執行緒1所需要操作的資料進行了修改,這樣即使執行緒1在修改完之後進行了事務提交,依然會執行失敗。

執行緒2:

執行緒1:

操作失敗後,想要重新進行操作,需要先關閉監視(unwatch key),重新進行監視(watch key)。

Redis學習 五 Redis持久化

redis是乙個記憶體資料庫,那麼如果不做持久化的話,當redis伺服器守護程序退出,伺服器宕機,計算機斷電 就會導致記憶體中的資料丟失,如果redis只是作為乙個快取伺服器來用的話,那麼不會有什麼影響,但是如果作為乙個記憶體資料庫的話,當上面的情況發生就會出現丟失所有資料的重大事故 rdb red...

Redis基礎 五 Redis事務 樂觀鎖

redis 事務可以一次執行多個命令,並且帶有以下三個重要的保證 乙個事務從開始到執行會經歷以下三個階段 我們可以理解redis事物為乙個指令碼,指令碼中如果出現編譯時錯誤 有錯 整條指令碼都不會被執行,並且並拋棄。指令碼中如果出現執行時錯誤 1 0等邏輯錯誤 除了該條指令其他的語句依然會被執行。1...

Redis基礎學習

概述 redis的使用 2.解壓直接可以使用 3.目錄介紹 redis命令 通用命令 redis 全稱 remote dictionary server 遠端字典服務 redis是用c語言開發的乙個開源的高效能鍵值對 key value 資料庫,官方提供測試資料,50個併發執行100000個請求,讀...