Redis事務允許在單個步驟中執行一組命令。以下是事務的兩個屬性:
- 事務中的所有命令作為單個隔離操作並按順序執行。不可以在執行Redis事務的中間向另一個客戶端發出的請求。
- Redis事務也是原子的。原子意味著要麼處理所有命令,要麼都不處理。
語法示例
Redis事務由命令MULTI
命令啟動,然後需要傳遞一個應該在事務中執行的命令列表,然後整個事務由EXEC
命令執行。
redis 127.0.0.1:6379> MULTI
OK
List of commands here
redis 127.0.0.1:6379> EXEC
示例
以下示例說明了如何啟動和執行Redis事務。
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> SET mykey "redis"
QUEUED
redis 127.0.0.1:6379> GET mykey
QUEUED
redis 127.0.0.1:6379> INCR visitors
QUEUED
redis 127.0.0.1:6379> EXEC
1) OK
2) "redis"
3) (integer) 1
Redis事務命令
下表列出了與Redis事務相關的一些基本命令。
序號 | 命令 | 說明 |
---|---|---|
1 | DISCARD | 丟棄在MULTI之後發出的所有命令 |
2 | EXEC | 執行MULTI後發出的所有命令 |
3 | MULTI | 標記事務塊的開始 |
4 | UNWATCH | 取消 WATCH 命令對所有 key 的監視。 |
5 | WATCH key [key …] | 監視給定的鍵以確定MULTI / EXEC塊的執行 |