redis事物transaction

  1. MULTI

    用於標記事務塊的開始。Redis會將後續的命令逐個放入隊列中,而後才能使用EXEC命令原子化地執行這個命令序列。數組

這個命令的運行格式以下所示:ide

MULTI
這個命令的返回值是一個簡單的字符串,老是OK。code

  1. 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"
相關文章
相關標籤/搜索