用於標記事務塊的開始。Redis會將後續的命令逐個放入隊列中,而後才能使用EXEC命令原子化地執行這個命令序列。數組
這個命令的運行格式以下所示:ide
MULTI
這個命令的返回值是一個簡單的字符串,老是OK。code
在一個事務中執行全部先前放入隊列的命令,而後恢復正常的鏈接狀態。
當使用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"