美文网首页
Redis事务

Redis事务

作者: 春苟哈皮 | 来源:发表于2019-07-29 10:13 被阅读0次

    如何执行

    1. multi开启事务

      • 将客户端的REDIS_MULTI选项打开,即非事务状态切换到事务状态
    2. 之后的每次操作都是缓存在服务端的队列中

      • 客户端处于非事务状态下时,每条命令都会被服务器立即执行
      • 客户端处于事务状态下时,不会立即执行命令,而是将命令放到事务队列中,然后返回QUEUED
      • EXEC DISCARD MULTI WATCH 四条命令不会放入队列而是直接执行
        • EXEC 执行此次事务队列中的命令,以FIFO先入先出方式,会返回给客户端所有命令的结果
        • DISCARD取消一个事务,清空事务队列,将客户端状态重置为非事务状态
        • MULTI\WATCHredis事务不可嵌套,所以此命令会返回一个错误

      事务队列

      • 系一个数组,包含三个属性:要执行的命令、命令的参数、参数的个数
      数组结果
    3. exec执行事务

      • 依次执行事务队列中的命令,以FIFO先入先出方式,会返回给客户端所有命令的结果

    带WATCH的事务

    WATCH监视锁,监控任意数量的键,执行事务时会检查键是否改变,如果改变则取消这次的事务。

    相关文章

      网友评论

          本文标题:Redis事务

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