Redis指令操作中文手冊login
Redis指令操作中文手冊
作者:php.cn  更新時間:2022-04-12 14:07:28

Redis 事務


Redis 交易可以一次執行多個命令, 並且帶有以下兩個重要的保證:

  • 交易是一個單獨的隔離操作:事務中的所有命令都會序列化、依序地執行。事務在執行的過程中,不會被其他客戶端發送來的命令請求所打斷。

  • 事務是一個原子操作:事務中的指令要麼全部被執行,要麼全部都不執行。

一個交易從開始到執行會經歷以下三個階段:

  • 開始交易。

  • 指令入隊。

  • 執行交易。


實例

以下是一個交易的例子, 它先以MULTI 開始一個事務, 然後將多個指令入隊到事務中, 最後由EXEC 命令觸發事務, 一併執行事務中的所有命令:

redis 127.0.0.1:6379> MULTI
OK

redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
QUEUED

redis 127.0.0.1:6379> GET book-name
QUEUED

redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
QUEUED

redis 127.0.0.1:6379> SMEMBERS tag
QUEUED

redis 127.0.0.1:6379> EXEC
1) OK
2) "Mastering C++ in 21 days"
3) (integer) 3
4) 1) "Mastering Series"
   2) "C++"
   3) "Programming"

Redis 事務命令

下表列出了redis 交易的相關指令:

DISCARD 取消事務,放棄執行事務區塊內的所有指令。 EXEC 執行所有交易區塊內的指令。 MULTI 標記一個交易區塊的開始。 UNWATCH 取消 WATCH 指令對所有 key 的監視。
#序號#指令與描述
1

1

2

3

4
###5######WATCH key [key ...] ###監視一個(或多個) key ,如果在交易執行之前這個(或這些) key被其他命令所改動,那麼事務將被打斷。 ##################

PHP中文網