中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis事務是什么

發布時間:2020-06-28 16:40:26 來源:億速云 閱讀:221 作者:元一 欄目:關系型數據庫

今天就跟大家聊聊有關Redis中的事務,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、什么是redis事務?

Redis事務是可以一次性執行多條命令,本質上是一組命令的集合,一個事務中的所有命令都會序列化,然后按順序地串行化執行,而不會被插入其他命令。

redis提供了簡單的“事務”能力,multi,exec,discard,watch/unwatch指令用來操作事務。

二、Redis 事務可以做什么?

一個隊列中,一些性,順序性,排他性的執行一系列的命令

三、怎么使用 redis 命令?

1、事務相關的命令:

(1)DISCARD:取消事務,放棄執行事務塊中的所有命令

(2)EXEC:執行事務塊中的命令

(3)MULTI:標記一個事務的開始

(4)UNWATCH:取消WATCH命令對所有 key 的監視

(5)WATCH key [key...]:監視一個(或多個)key,如果在事務之前執行這個(或者這些)key被其他命令所改動,那么事務將會被打斷。

2、事務報錯問題:

(1)語句錯誤:會直接在添加隊列的時候報錯,如果出現這個錯誤,則整個事務都會回滾

(2)邏輯錯誤:例如給一個字符串 + 1,在執行的時候才會報錯。這種錯誤則不會影響事務中的其他操作,只有本條會報錯

3、watch 監控:

(1)悲觀鎖

悲觀鎖(Pessimistic Lock)們就是一個很悲觀的鎖,每次去拿數據的時候會認為其它人會根據修改操作,導致覆蓋等問題。所以每次在拿數據的時候都會上鎖,這樣如果別人想要拿數據,就會 block ,一直到修改完之后,解開鎖菜可以使用,傳統的關系醒數據庫里邊就用了很多這種鎖的機制,比如行鎖,表鎖,讀鎖,寫鎖,這都是在做操作之前,先對表上鎖。

悲觀鎖保證數據安全,但是會使性能下降


(2)樂觀鎖:

樂觀鎖(Optimistic Lock),是一個樂觀的鎖,每次去拿數的時候都認為別人不會對數據進行修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數據,可以使用“版本號”等機制,樂觀所使用于多讀的應用類型,這樣可以提高吞吐量。

樂觀所策略:提交版本必須大于當前記錄的版本,才可以進行更新

四、三特性

1、單獨的隔離操作:

事務中的所有命令都會序列化、按順序執行。事務執行過程中,不會被其他客戶端發送來的命令請求打斷。

2、沒有隔離級別的概念:

隊列中的命令沒有提交之前不會實際的被執行,因為事務提交前任何指令都不會被實際執行,也就不存在“事務內的查詢要看到是物理的更新,在事務外查詢不能看到這個問題了”

3、不保證原子性:

redis 同一個事務中如果有一條命令執行失敗,其后的命令仍然會被執行,沒有回滾。

(除非加入隊列的時候就出錯,即類似 java 的編譯時異常和執行時一異常,編譯時會導致回滾,執行時異常不回滾)

看完上述內容,你們對Redis的事務有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍溪县| 淮阳县| 南投市| 长寿区| 昌平区| 芮城县| 米林县| 扎囊县| 龙门县| 抚顺县| 苗栗市| 武隆县| 法库县| 灵山县| 准格尔旗| 贵南县| 石门县| 翼城县| 贞丰县| 沈丘县| 周至县| 阳曲县| 宿松县| 马龙县| 买车| 稷山县| 河北区| 奉化市| 莱州市| 象州县| 卢氏县| 义马市| 晋江市| 祁门县| 壶关县| 林口县| 格尔木市| 祁东县| 崇明县| 石泉县| 渝中区|