跳至主要內容
Spring 之事务

Spring 之事务

Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API(JPA) 等事务 API,实现了一致的编程模型,而 Spring 的声明式事务功能更是提供了极其方便的事务配置方式,配合 Spring Boot 的自动配置,大多数 Spring Boot 项目只需要在方法上标记 @Transactional 注解,即可一键开启方法的事务性配置。

理解事务

在软件开发领域,全有或全无的操作被称为事务(transaction)。事务允许你将几个操作组合成一个要么全部发生要么全部不发生的工作单元。传统上 Java EE 开发对事务管理有两种选择:全局事务本地事务,两者都有很大的局限性。


钝悟...大约 43 分钟Java框架SpringSpring数据Java框架SpringSpringBoot事务
MongoDB 事务

MongoDB 事务

概述

通俗的说,事务将多个读、写操作捆绑在一起成为一个逻辑操作单元事务中的所有读写是一个执行的整体,整个事务要么成功(提交)、要么失败(中止或回滚)。如果失败,应用程序可以安全地重试。这样,由于不需要担心部分失败的情况(无论出于任何原因),应用层的错误处理就变得简单很多。

大多数 NoSQL 只能部分支持事务,甚至完全不支持事务。但是,MongoDB 支持 ACID 事务,这是它的一大优势。

本文主要介绍了 MongoDB 对于事务的支持力度,以及如何应用事务。


钝悟...大约 12 分钟数据库文档数据库mongodb数据库文档数据库mongodb事务
MySQL 事务

MySQL 事务

概述

不是所有的 MySQL 存储引擎都实现了事务处理。支持事务的存储引擎有:InnoDBNDB Cluster。不支持事务的存储引擎,代表有:MyISAM

用户可以根据业务是否需要事务处理(事务处理可以保证数据安全,但会增加系统开销),选择合适的存储引擎。

事务简介

事务概念


钝悟...大约 25 分钟数据库关系型数据库mysql数据库关系型数据库mysql事务
Redis 事务

Redis 事务

Redis 仅支持“非严格”的事务。所谓“非严格”是指:Redis 事务保证“全部执行命令”;但是,Redis 事务“不支持回滚”。

关键词:事务ACIDMULTIEXECDISCARDWATCH

Redis 事务简介

什么是 ACID

ACID 是数据库事务正确执行的四个基本要素。


钝悟...大约 13 分钟数据库KV数据库redis数据库KV数据库redis事务ACID
分布式事务

分布式事务

事务简介

什么是事务

在数据存储环境中,可能会出现各种各样的问题:

  • 数据库软件或硬件可能会随时失效(包括正在执行写操作的过程中)。
  • 应用程序可能随时崩愤(包括一系列操作执行到中间某一步)。
  • 应用与数据库节点间的连接可能会随时中断,数据库节点间也存在同样问题。
  • 多个客户端可能同时写入数据库,导致数据覆盖。
  • 客户端可能读到一些无意义的、部分更新的数据。
  • 客户端之间由于边界条件竞争所引入的各种奇怪问题。

钝悟...大约 44 分钟分布式分布式协同分布式协同综合分布式协同事务互斥ACID2PC3PCTCC本地消息表消息事务SAGAXA