美文网首页
Redis 事务

Redis 事务

作者: 尖头核桃 | 来源:发表于2018-09-09 22:19 被阅读0次

    事务阶段

    • 标记
    • 入队
    • 执行

    常用命令

    下表列出了 redis 事务的相关命令:

    序号 命令及描述
    1 DISCARD 取消事务,放弃执行事务块内的所有命令。
    2 EXEC 执行所有事务块内的命令。
    3 MULTI 标记一个事务块的开始。
    4 UNWATCH 取消 WATCH 命令对所有 key 的监视。
    5 WATCH key [key ...] 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

    事务的几种情况

    • 正常情况
    • 放弃事务:discard
    • 全部失败: 有一些错误的命令(Redis里面根本没有的命令)。事务全部放弃。
    • 错误命令失败:错误的使用一些命令(字符串加一),当前命令失败,事务中的其他命令成功。
    • 使用Watch:见下一节

    Watch

    乐观锁:不加锁,使用版本号机制,当前修改必须大于版本号才能修改
    Redis 锁的机制类似于乐观锁。在进行watch监控时,对watch的key进行加锁,当其他客户端或线程对其修改后,当前事务会返回失败。执行了exec,之前加的watch监控都被取消。

    相关文章

      网友评论

          本文标题:Redis 事务

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