Redis09 事務(悲觀鎖 樂觀鎖)

2022-07-19 01:30:17 字數 611 閱讀 5020

redis事務是乙個單獨的隔離操作

①事務中所有的命令都會被序列化、按照順序執行

②事務在執行過程中不會被其他客戶端傳送來的命令請求打斷

串聯多個命令防止別的命令插隊

每次去拿資料的時候都認為別人會修改,所以每次在拿資料的時候都會上鎖

這樣別人想拿這個資料就會block(阻塞)直到他拿到鎖

傳統的關係型資料庫裡面就是用到了很多這樣的鎖機制

(行鎖、表鎖、讀鎖、寫鎖都是在操作之前先上鎖)

每次去拿資料的時候都認為別人不會修改,所以不會上鎖

但是在更新的時候會判斷一下在此期間別人會不會更新這個資料,可以用版本號等機制

樂觀鎖適用於多讀的應用型別,提高吞吐量

redis就是利用這種check-and-set機制實現事務的

Redis 事務(悲觀鎖 樂觀鎖)

1 定義 redis事務是乙個單獨的隔離操作 事務中所有的命令都會被序列化 按照順序執行 事務在執行過程中不會被其他客戶端傳送來的命令請求打斷 2 作用 串聯多個命令防止別的命令插隊 multi 輸入開始命令 exec 執行命令 discard 放棄組隊 刪除掉 3 注意事項 1 multi 命令不...

Redis鎖,悲觀鎖和樂觀鎖

樂觀鎖開啟事務前,設定對資料的監聽 watch exec時,如果發生資料發生過修改,作用於改資料的事務會自動取消 discard 事務exec後,無論成敗,監聽會被移除 悲觀鎖每次去拿資料的時候都認為別人會修改,所以每次在拿資料的時候都會上鎖。場景 如果專案中使用了快取且對快取設定了超時時間。當併發...

Redis事務 樂觀鎖和悲觀鎖詳細介紹

mysql acid。要麼同時成功,要麼同時失敗。redis事務本質 一組命令的集合。乙個事務中的所有命令都會被序列化,在事務執行過程中,會按照順序執行。一次性,順序性,排他性,執行一系列的命令。redis事務沒有隔離級別的概念 所有的命令在事務中,並沒有直接被執行。只有發起執行命令的時候才會執行。...