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
  • 相关阅读:
    BS和CS的区别联系
    layui radio 根据获取的到值选中
    C++基础 学习笔记六:复合类型之数组
    C++基础 学习笔记五:重载之运算符重载
    C++基础 学习笔记四:重载之函数重载
    C++基础 学习笔记三:函数指针
    C++基础 学习笔记一:源代码的格式化
    本地git与github绑定并向GitHub上传本地仓库
    git安装
    20200202
  • 原文地址:https://www.cnblogs.com/52why/p/14338903.html
Copyright © 2011-2022 走看看