zoukankan      html  css  js  c++  java
  • Redis的事务

    Redis的事务

    redis事务特性

    单独的隔离操作:redis的事务中所有的命令都是按照序列化执行的。在一个客户端执行事务的过程中,不再接受任何客户端的请求,

    不保证原子性:如果有一条执行失败,其后的仍然会被执行,不会回滚。

    没有隔离级别:因为redis事务没提交之前都是到事务队列,没提交前的任何命令都不会被实际的执行,不像mysql一样事务内命令实际上也是执行了对数据库的操作,有问题再回滚。所以redis的事务也不存在事务内查询要看到事务内更新,事务外查询不能看到这种问题了。

    事务的使用

    使用 MULTI 命令进入事务模式,接下来输入的所有的命令都会被放进事务队列,暂时不执行,直到执行了 EXEC 命令,所有的事务才会一次性执行,如果执行了discard命令,所有的事务都会被放弃。因此事务有三个阶段,开启事务,命令入队,执行事务

    事务的执行

    redis事务的执行存在两种情况,一种执行失败的语句被跳过,其余的语句仍然执行,一种是存在出错的语句,整个事务被放弃执行

    情况二:语法没有问题 但是适用对象有问题 例如对字符串进行数字加减法操作,会跳过执行失败的语句,执行其他可以执行成功的语句

    情况一:某条语句执行的语法有问题,exec语句报错,所有的语句都不执行

  • 相关阅读:
    ubuntu远程windows桌面
    spring boot 给返回值加状态 BaseData
    spring boot 拦截异常 统一处理
    IntelliJ IDEA spring boot 远程Ddbug调试
    IntelliJ IDEA 常用插件
    spring boot 请求地址带有.json 兼容处理
    spring boot 接口返回值去掉为null的字段
    spring boot 集成disconf
    Spring boot 自定义拦截器
    Linux下安装MySQL
  • 原文地址:https://www.cnblogs.com/blackmlik/p/12765793.html
Copyright © 2011-2022 走看看