Redis自學筆記9 事務 鎖

2021-10-04 13:25:44 字數 1413 閱讀 5434

一、redis事務介紹

redis事務就是乙個命令執行的佇列,將一系列預定命令包裝成乙個集體。當執行時,一次性按照新增順序依次執行,中間不會被打斷或者干擾。

二、事務操作

1、開啟

命令:

multi
作用:設定事務的開啟位置,此指令執行後,後續的所有指令均加入到事務中。

2、執行

命令:

exec
作用:設定事務的結束位置,同時執行事務。與multi成對出現,成對使用。

注意:加入事務的命令暫時進入到事務任務佇列中,並沒有立即執行,只有執行exec命令才開始執行

3、取消事務

命令:

discard
作用:終止當前事務的定義,發生在multi之後,exec之前

4、注意事項

手動回滾:

三、事務工作流程

四、鎖

1、監視鎖操作

對key新增監視鎖

watch key1 key2 ...
取消對所有key的監視

unwatch
注意:當監控的物件發生變化時,則後面對應的事務操作將取消

2、分布式鎖

使用setnx設定乙個公共鎖

setnx lock-key value
利用setnx命令的返回值特徵,有值則返回設定失敗,無值返回設定成功對於設定成功的,擁有控制權,進行下一步的具體業務操作

對於設定失敗的,不具有控制權,排隊或等待

通過del操作釋放鎖

對鎖加時效:

expire lock-key second

pexpire lock-key milliseconds

Redis事務 事務鎖

一旦成功所有的成功,乙個失敗,所有一些列連續動作都失敗 事務的基本操作 注意 加入事務的命令暫時到任務佇列中,並沒有立即執行,只有執行exec命令才開始執行事務定義過程中發現問題,怎麼辦?discard 事務的工作流程 事務的注意事項 手動進行事務回滾 業務場景1 業務分析 基於特定條件的事務執行 ...

redis11 Redis事務 事務鎖

一旦成功所有的成功,乙個失敗,所有一些列連續動作都失敗 事務的基本操作 multi exec 事務定義過程中發現問題,怎麼辦?discard 事務的工作流程 事務的注意事項 手動進行事務回滾 業務場景1 業務分析 基於特定條件的事務執行 鎖 解決方案 watch key1 key2 unwatch ...

Redis學習筆記 事務和鎖

本文是自己的學習筆記,學習資料如下 b站狂神說redis教程 2 redis實現樂觀鎖 redis事務不保證原子性,本質是一組命令的集合。就是將一組命令放進乙個佇列裡一條條執行,發生錯誤就觸發錯誤處理機制,之前已經執行成功的命令也不會回退。同時也說明,事務可以保證一組命令能順序執行。redis可以通...