redis事務是一組命令的集合,也是redis的最小執行單位之一。乙個事務的所有命令,要麼都執行,要麼都不執行。redis能保證事務執行期間不會有其他命令插入。
命令格式
說明discard
discard
取消事務
exec
exec
執行事務中的命令
multi
multi
標記乙個事務的開始
unwatch
unwatch
取消對key的監視
watch
watch key [key ...]
監視乙個或多個key
執行multi後,在exec或discard之前傳送的所有命令都會被redis按順序快取起來,並返回queued。執行exec後,redis取出快取的命令開始執行,並返回每一條命令的返回值。
使用watch監控的key如果發生了變化,事務將被打斷。在exec或discard執行後,watch監控自動失效,否則使用unwatch取消監控。
注意:①執行multi後不能再執行watch,否則返回錯誤「watch inside multi is not allowed」;
②如果命令有語法錯誤redis會報錯,但是執行時出現的錯誤會被redis忽略不影響後面的執行,需要自己確保不出現執行時錯誤;
1、事務正常執行
192.168.1.100:6379> multi
ok192.168.1.100:6379> set testkey 1
queued
192.168.1.100:6379> incr testkey
queued
192.168.1.100:6379> get testkey
queued
192.168.1.100:6379> exec
1) ok
2) (integer) 2
3) "2"
2、watch監控的key變化,事務被打斷
192.168.1.100:6379> watch testkey
ok192.168.1.100:6379> multi
ok192.168.1.100:6379> set testkey 1
queued
# 此時另乙個客戶端執行 set testkey 2 改變了testkey的值
192.168.1.100:6379> exec
(nil)
Redis事務使用方法
redis事務是一組命令的集合,也是redis的最小執行單位之一。乙個事務的所有命令,要麼都執行,要麼都不執行。redis能保證事務執行期間不會有其他命令插入。命令格式 說明discard discard 取消事務 exec exec 執行事務中的命令 multi multi 標記乙個事務的開始 u...
Redis事務使用方法 watch
redis事務是一組命令的集合,也是redis的最小執行單位之一。乙個事務的所有命令,要麼都執行,要麼都不執行。redis能保證事務執行期間不會有其他命令插入。命令格式 說明discard discard 取消事務 exec exec 執行事務中的命令 multi multi 標記乙個事務的開始 u...
分布式事務使用方法
使用 ole db 開放式資料庫連線 odbc activex 資料物件 ado 或 db 庫編寫的應用程式可以使用 transact sql 分布式事務,方法是發出 transact sql 語句來啟動和停止 transact sql 分布式事務。ole db 和 odbc 還包含在應用程式程式設...