Redis事務


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塊的執行