美文网首页
redis 事务命令

redis 事务命令

作者: 鬭闢 | 来源:发表于2017-05-04 14:14 被阅读0次

    1 multi

    标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由exec命令原子性(atomic)地执行。

    127.0.0.1:6379> multi

    OK

    127.0.0.1:6379> incr id

    QUEUED

    127.0.0.1:6379> incr id

    QUEUED

    127.0.0.1:6379> incr id

    QUEUED

    127.0.0.1:6379> ping

    QUEUED

    127.0.0.1:6379> exec

    1) (integer) 1

    2) (integer) 2

    3) (integer) 3

    4) PONG

    2 exec

    执行所有事务块内的命令。假如某个(或某些) key 正处于watch命令的监视之下,且事务块中有和这个(或这些) key 相关的命令,那么exec命令只在这个(或这些) key 没有被其他命令所改动的情况下执行并生效,否则该事务被打断(abort)。

    3 discard

    取消事务,放弃执行事务块内的所有命令。如果正在使用watch命令监视某个(或某些) key,那么取消所有监视,等同于执行命令unwatch

    127.0.0.1:6379> multi

    OK

    127.0.0.1:6379> ping

    QUEUED

    127.0.0.1:6379> discard

    OK

    4 watch

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

    5 unwatch

    取消watch命令对所有 key 的监视。如果在执行watch命令之后,exec因为exec命令会执行事务,因此watch命令的效果已经产生了;而discard命令在取消事务的同时也会取消所有对 key 的监视,因此这两个命令执行之后,就没有必要执行unwatch了。

    相关文章

      网友评论

          本文标题:redis 事务命令

          本文链接:https://www.haomeiwen.com/subject/mdvrtxtx.html