zoukankan      html  css  js  c++  java
  • Transaction-事务

    简介:
    这篇笔记主要记录一下redis中事务的处理设置。
     
    命令介绍:
    1.multi
    可用版本: >=1.2.0
    时间复杂度: O(1)
    作用:
    标记一个事务块的开始。事务块中的多条命令会按照先后顺序放入一个队列之中,最后由exec命令原子性的执行。
    返回值:
    返回OK。
     
    2.exec
    可用版本: >=1.2.0
    时间复杂度: 事务块中使用命令的时间复杂度之和
    作用:
    执行所有事务块中的命令。
    假如某些key正处于watch命令的监控之下,并且事务块中有和这个key相关的命令,那么exec命令只在这个key没有被其他命令改动的情况下执行并且失效,否则该事务将被打断。
    返回值:
    执行成功,返回事务块中所有命令的返回值。执行失败返回nil。
     
    3.discard
    可用版本: >=2.0.0
    时间复杂度: O(1)
    作用:
    取消事务,放弃执行事务块中的所有命令。
    如果正在使用watch命令监视某一些key的话,那么取消所有的监视,等同于命令unwatch。
    返回值:
    返回OK。
     
    4.watch
    可用版本: >=2.2.0
    时间复杂度: O(1)
    命令格式: watch key [key...]
    作用:
    监视一个或者多个key,如果事务执行之前这些key被其他命令改动,那么事务将中断。
    返回值:
    返回OK。
     
    5.unwatch
    可用版本: >=2.2.0
    时间复杂度: O(1)
    作用:
    取消watch命令对所有key的监视。
    返回值:
    返回OK。
    注意:
    如果在执行watch命令之后,exec命令或者discard命令先被执行了的话,那么就不需要执行unwatch命令了。
    因为 EXEC 命令会执行事务,因此 WATCH 命令的效果已经产生了;而 DISCARD 命令在取消事务的同时也会取消所有对 key 的监视,因此这两个命令执行之后,就没有必要执行 UNWATCH 了。
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    函数
    2017-12-09 JavaScript实现ZLOGO子集: 测试用例
    2017-12-06 JavaScript实现ZLOGO子集: 单层循环功能
    2017-12-05 JavaScript实现ZLOGO子集: 前进+转向
    Python3选择支持非ASCII码标识符的缘由
    2017-12-04 编写Visual Studio Code插件初尝试
    2017-12-02 编程语言试验之Antlr4+JavaScript实现"圈4"
    2017-12-01 中英文代码对比之ZLOGO 4 & LOGO
    2017-11-28 在线编程网站对中文代码的支持
    中文编程兴起的可能途径
  • 原文地址:https://www.cnblogs.com/52why/p/14338903.html
Copyright © 2011-2022 走看看