聊聊事务~(一)

首先提到事务,我们的第一反应就是 ACID,是的我们事务拥有四大特性:

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

顾名思义,事务的四大特性非常好理解,所有今天我们只掰扯掰扯隔离性喽~

迎面向我们走来的是MVCC(Multiversion Concurrency Control多版本并发处理机制)项目,首先看看 mysql 的代表队的英勇表现。
mysql 对待事务有 4 种处理方式,表示对事务的不同态度。

  • 读未提交(read-uncommitted):在不同的事务内,可以看到其他事务修改过未提交的数据。对其他事务非常的放心,你想看就看喽~
  • 读已提交(read-committed):在不同的事务内,不能看到其他事务未提交的数据,但是其他事务提交数据改动,可以在当前事务中发生变化的。这下好了,你敢提交我就敢看,豪横~
  • 可重复读(repeatable-read):在不同的事务内,事务未提交前,获取的数据不会随着其他事务的提交而改变。没办法,只能忙完才能出去看看隔壁小姐姐更新的动态了~
  • 串行化(serializable):哦豁,直接上锁~我不管一次我就只执行一个事务处理,所以就效率比较低,但是保证安全嘞

每个事务的隔离级别不尽相同,一定要针对于业务的需求对并发和隔离有不同的取舍。

小提示 mysql 的日志文件不要混淆哦,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(bin log)、错误日志(error log)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。

oracle数据库的默认隔离级别其实就是“读提交”,mysql 默认隔离机制是“可重复读”。

以下还涉及 Spring的七种事务传播行为,咱们改天再聊咯。。。

Spring和Spring MVC都是Java Web应用程序开发框架。Spring是一个Java企业级应用程序开发框架,它提供了一个综合性的编程和配置模型,让开发人员可以轻松地创建各种类型的Java应用程序。Spring MVC是Spring框架的一部分,它是一个基于模型-视图-控制器(MVC)模式的Web应用程序开发框架,提供了一种灵活的方式来开发Web应用程序。 Spring主要提供了以下功能: 1. 控制反转(IoC):将对象的创建和依赖关系的管理从应用程序代码中解耦出来,使得应用程序更加灵活。 2. 面向切面编程(AOP):提供了一种能够在应用程序中针对特定点进行代码切入的机制,从而实现了诸如事务管理、日志记录和安全性控制等功能。 3. 数据访问和集成:提供了对JDBC、ORM和NoSQL数据存储等多种数据访问技术的支持,同时还提供了对各种企业级集成技术的支持。 4. Web开发:提供了Spring MVC框架,用于开发Web应用程序。 Spring MVC框架则提供了以下功能: 1. 轻量级Web框架:相比于其他Web框架,Spring MVC更加轻量级,易于使用。 2. 灵活的URL映射:Spring MVC提供了灵活的URL映射机制,可以根据不同的URL请求匹配不同的处理器。 3. 视图解析:Spring MVC支持多种视图技术,包括JSP、Freemarker、Velocity等。 4. 数据绑定:Spring MVC提供了一种方便的方式来将表单数据绑定到Java对象中,从而简化了表单处理的过程。 综上所述,Spring和Spring MVC都是Java Web应用程序开发框架,它们提供了一系列功能来简化Java Web应用程序的开发。Spring提供了更广泛的功能,包括控制反转、面向切面编程、数据访问和集成等方面,而Spring MVC则是一个基于模型-视图-控制器模式的Web框架,提供了灵活的URL映射、视图解析和数据绑定等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值