一、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可以通...