# Transaction Commands

# multi

  • 支持:是

  • 说明:标记事务块的开始,后续命令将逐个放入队列中

  • 实例:

    > MULTI
    "OK"
    > SET mykey "10"
    QUEUED
    > EXEC
    1) "OK"
    > GET mykey
    "10"
    

# exec

  • 支持:是

  • 说明:执行事务块内的所有命令队列

  • 实例:

    > MULTI
    "OK"
    > SET mykey "10"
    QUEUED
    > GET mykey
    QUEUED
    > EXEC
    1) "OK"
    2) "10"
    

# discard

  • 支持:是

  • 说明:取消事务,放弃执行事务块内的所有命令队列

  • 实例:

    > MULTI
    "OK"
    > SET mykey "10"
    QUEUED
    > DISCARD
    "OK"
    > GET mykey
    (nil)
    

# watch

  • 支持:是

  • 说明:监视一个(或多个)key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断

  • 实例:

    > SET mykey1 "10"
    "OK"
    > SET mykey2 "20"
    "OK"
    > WATCH mykey1
    "OK"
    > WATCH mykey1 mykey2
    "OK"
    

# unwatch

  • 支持:是

  • 说明:取消 WATCH 命令对所有 key 的监视

  • 实例:

    > SET mykey "10"
    "OK"
    > WATCH mykey
    "OK"
    > UNWATCH
    "OK"