给一个表加字段,或者修改字段,或者加索引,需要扫描全表的数据。在对大表操作的时候,你肯定会特别小心,以免对线上服务造成影响。 FTWRL 前有读写的话 ,FTWRL 都会等待 读写执行完毕后才执行 FTWRL 执行的时候要刷脏页的数据到磁盘,因为要保持数据的一致性 ,理解的执行FTWRL时候是 所有 ...
分类:
其他好文 时间:
2020-01-28 22:48:40
阅读次数:
70
ReentrantLock实现了标准的互斥锁:一次最多只有一个线程能够持有相同ReentrantLock。但是互斥通常做为保护数据一致性的很强的加锁约束,因此,过分的限制了并发性。互斥是保守的加锁策略,避免了 “写/写”和“写/读"的重读,但是同样避开了"读/读"的重叠。在很多情况下,数据结构是”频 ...
分类:
其他好文 时间:
2020-01-28 20:53:51
阅读次数:
58
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素。从这个角度来说,锁对数据 ...
分类:
其他好文 时间:
2020-01-28 17:49:11
阅读次数:
73
mysql的隔离机制是可重复读,但实际上操作效果和串行化类似, mysql执行begin后不会启动事务, 而是在执行begin之后继续执行下一个语句时,才启动的事务,在information_schma.innodb_trx中添加一条记录, commit后删除该记录。 1、务的特性:原子性、一致性、 ...
分类:
其他好文 时间:
2020-01-28 17:25:19
阅读次数:
72
有时候一个业务需要多次操作数据库,比如转账: 如果reduce()执行成功,add执行失败,那钱是转出去了,但对方并没有收到,钱转丢了。 使用事务可解决此问题。 事务:逻辑上的一组操作,要么全部成功,要么全部失败。 事务的4个特性 原子性:最小单元,不可再分割 一致性:事务执行前后,数据的完整性保持 ...
分类:
其他好文 时间:
2020-01-28 15:25:04
阅读次数:
65
当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几 ...
分类:
数据库 时间:
2020-01-28 09:14:00
阅读次数:
66
事实证明,一套大型的软件系统往往要持续开发运营,这就要求开发团队保持系统的概念一致性。世界需要秩序和规则,就是因为每个人想法不一,产生矛盾时也就无法统一实现整体利益,对自身以及他人都会产生影响。在系统的开发中也是一样的,人与人之间的思维差异是客观存在的,概念的完整性只能少数人员来实现,对于大型的项目 ...
分类:
其他好文 时间:
2020-01-27 22:05:22
阅读次数:
66
组合模式 组合模式: 将对象组合成树形结构以表示‘部分 整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 简单说,组合模式对应的情况是有一个总部,总部下有各个职能部门,也有组织架构类似于总部的分部(其下也有职能部门和分分部)。 如果说总部下只有职能部门,没有分部。这种情况那就 ...
分类:
其他好文 时间:
2020-01-27 14:03:26
阅读次数:
54
考虑转发任务未成功执行,此时消息服务器Broker宕机,导致commitlog,consumeQueue,IndexFile文件数据不一致。 看一下mq关于存储文件的加载流程: public boolean load() { boolean result = true; try { boolean ...
分类:
其他好文 时间:
2020-01-27 09:42:08
阅读次数:
85
Java并发关键字Volatile 详解 问题引出: 1.Volatile是什么? 2.Volatile有哪些特性? 3.Volatile每个特性的底层实现原理是什么? 相关内容补充: 1. 缓存一致性协议:MESI ? 由于计算机储存设备(硬盘等)的读写速度和CPU的计算速度有着几个数量级别的差距 ...
分类:
编程语言 时间:
2020-01-25 18:07:50
阅读次数:
81