Redis事务和Mysql事务的区别

6 篇文章 0 订阅

Redis事务

默认状态未开启,执行步骤:

  1. multi 开启事务
  2. exec 执行事务
  3. discard 取消事务

特点:

  • 单独的隔离操作,事务会按照顺序执行,不会被客户端的其它请求干扰
  • 由于redis的事务只是把命令放到了队列里,并没有执行,而是等到最后一起执行,从而事务间就不会导致数据脏读、不可重复读、幻读的问题,所以也就没有隔离级别的概念
  • 执行事务时,如果有语法错误,事务不会执行
  • 不具备原子性,执行事务时,如果有命令执行失败,事务会继续执行,不会执行回滚操作,不会影响后续的操作

Mysql事务

默认开启事务,每次语句执行都会开启事务,执行步骤:

  1. begin 显示的开启事务
  2. commit 提交事务,执行语句
  3. rollback 取消事务,进行回滚操作,撤销所有更改

特点:

  • 原子性,一个事务中的操作,要么全部完成,要么全部失败,只要执行中发生错误,就会被回滚到事务执行前的状态。
  • 一致性,在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。
  • 隔离性,数据库允许多个并发事务同时对数据进行读写和修改,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致,事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
  • 持久性,事务处理结束后,对数据的修改是永久的,即使系统故障也不会丢失
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对这是我的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值