一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性 ...
分类:
其他好文 时间:
2020-06-25 23:04:00
阅读次数:
45
菜瓜:上次的AOP理论知识看完收获挺多的,虽然有一个自定义注解的demo,但还是觉得差点东西 水稻:我也觉得没有跟一遍源码还是差点意思,这次结合@Transactional注解深入源码看一下 菜瓜:事务注解,这个平时用的挺多的 水稻:是吗?来看看你的基础咋样 要保证一个方法中多个数据库操作的原子性, ...
分类:
编程语言 时间:
2020-06-25 17:54:48
阅读次数:
72
1、速度快,因为数据存在内存中,类似于 HashMap,HashMap 的优势就是查 找和操作的时间复杂度都是 O1) 2、支持丰富数据类型,支持 string,list,set,Zset,hash 等 3、支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行, 要么全部不执行 4、丰 ...
分类:
其他好文 时间:
2020-06-25 15:34:23
阅读次数:
92
1. 概念 原子操作是指不被打断的操作,即它是最小的执行单位。最简单的原子操作就是一条条的汇编指令(不包括一些伪指令,伪指令会被汇编器解释成多条汇编指令)。在 linux 中原子操作对应的数据结构为 atomic_t,定义如下: typedef struct { int counter; } ato ...
分类:
其他好文 时间:
2020-06-24 19:57:50
阅读次数:
57
# AB机新逻辑 """ 1. 查看是否存在有效的远程灾备计划 2. 先给计划创建一个空的任务。 3. 到A端中填充任务,构造成真正可以执行的任务。(在这个过程需要到A端释放以前的以前锁定的资源,锁定现在的资源)(原子性) 这个过程容易失败(失败后我们怎么处理较好呢??) 1. 需要释放上一次任务的 ...
分类:
其他好文 时间:
2020-06-23 21:05:00
阅读次数:
51
Transactional失效的场景 一:spring的事务管理 讲解Transactional之前先来聊聊spring的事务。 1:什么是事务? 答:事务是一组操作,这组操作要么全部完成,要么全部失败。 2:事务的特性? 答:ACID四种 原子性 (Atomicity) : 事务是一个原子操作,由 ...
分类:
其他好文 时间:
2020-06-22 01:36:28
阅读次数:
45
1、定义 乐观锁和悲观锁其实是两种思想,用于解决并发场景下的数据竞争问题。 悲观锁:常用的锁基本上都是悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转 ...
分类:
其他好文 时间:
2020-06-21 21:40:58
阅读次数:
47
第一范式:1NF 是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF 是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 第三范式:3NF 是对字段冗余性的约束,即任何字段不能由其他字段派生出来, 它要求字段没有冗余。。 范式化设计优缺点: 优点: 可以尽量得减少数据冗 ...
分类:
其他好文 时间:
2020-06-21 16:08:52
阅读次数:
144
Redis具有单独的隔离操作、没有隔离级别的概念、不保证原子性 ...
分类:
其他好文 时间:
2020-06-21 15:43:19
阅读次数:
59
关于volatile关键字的解析 什么是volatile ? volatile是Java虚拟机提供的轻量级的同步机制 三大特性 不保证原子性 禁止指令重排 保证可见性 不保证原子性 对于volatile不保证原子性,我们可以通过一段代码来验证 package javase; import java. ...
分类:
其他好文 时间:
2020-06-20 18:52:36
阅读次数:
46