redis事物transaction
阿新 • • 發佈:2019-04-22
star watch命令 標記 才會 命令 返回值 分別是 watch add MULTI
用於標記事務塊的開始。Redis會將後續的命令逐個放入隊列中,然後才能使用EXEC命令原子化地執行這個命令序列。
這個命令的運行格式如下所示:
MULTI
這個命令的返回值是一個簡單的字符串,總是OK。
- EXEC
在一個事務中執行所有先前放入隊列的命令,然後恢復正常的連接狀態。
當使用WATCH命令時,只有當受監控的鍵沒有被修改時,EXEC命令才會執行事務中的命令,這種方式利用了檢查再設置(CAS)的機制。
這個命令的運行格式如下所示:
EXEC
這個命令的返回值是一個數組,其中的每個元素分別是原子化事務中的每個命令的返回值。 當使用WATCH命令時,如果事務執行中止,那麽EXEC命令就會返回一個Null值。
127.0.0.1:6380> multi OK 127.0.0.1:6380> xadd myStreamKey * name Jack age 29 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 28 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 27 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 26 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 25 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 24 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 23 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 22 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 21 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 20 QUEUED 127.0.0.1:6380> exec 1) "1555926229541-0" 2) "1555926229541-1" 3) "1555926229541-2" 4) "1555926229541-3" 5) "1555926229541-4" 6) "1555926229541-5" 7) "1555926229541-6" 8) "1555926229541-7" 9) "1555926229541-8" 10) "1555926229541-9"
redis事物transaction