zoukankan      html  css  js  c++  java
  • redis事务

    redis事务命令

    MULTI	开启事务的标识
    DISCARD   主动放弃
    EXEC 	执行事务(EXEC命令执行后所有的监视锁都会自动取消)
    WATCH	监视一个或多个key,监视的key在EXEC提交时会检测key的值是否发生了改变,如果改变了就会导致事务失败,返回Nullmulti-bulk以通知调用者事务失败。类似于乐观锁。
    UNWATCH 取消对所有key的监视
    

    4种结果

    • 全体连坐(输入命令时就报错,比如redis的命令错误、参数个数错误、cmd下直接会出错误信息,会导致本次事务失败)
    • 冤头债主(QUEUED成功,事务EXEC后 失败的失败,成功的成功,互不影响)
    • 正常执行
    • 放弃事务

    小结

    redis部分支持事务,不像ORCALE和MYSQL一样强硬要求。

    单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行,事务在执行过程中,不会被其他客户端所发来的命令打断。

    没有隔离级别的概念:队列中的命令在没有提交之前都不会被实际的执行,因为事务提交前任何操作都不会被执行。

    不保证原子性:redis同一个事务如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚。

  • 相关阅读:
    supervisor启动错误解决(二)
    删除文件某行
    离线安装
    docker中/var/lib/docker目录迁移
    if else 使用
    Django views函数添加装饰器
    Netty4
    Fast DFS(二)
    Fast DFS(一)
    SpringBoot和app之间跨域问题
  • 原文地址:https://www.cnblogs.com/Ghostant/p/12423678.html
Copyright © 2011-2022 走看看