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 交易的相關指令:
#序號 | #指令與描述 |
---|---|
1 | |
1 | |
2 | |
3 | |
4 |