摘要: 背景 MySql 的大多数事务型存储引擎实现的其实都不是简单的行级锁。 基于提升并发性能的考虑, 它们一般都实现了多版本并发控制(MVCC)。 可以认为 MVCC 是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。虽然实现机制有所不同,但大都实现了非阻塞的读操作,写操作也只是锁定必 阅读全文
posted @ 2020-01-13 21:38 当年明月123 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 了解事务隔离级别之前先要了解数据库在高并发环境下会遇到的几个问题: 1. 脏读: 事务 A 读取了事务 B 更新的数据,然后 B 执行回滚操作,那么 A 读到的就是脏数据。 2. 不可重复读: 事务 A 多次读取同一个数据,事务 B 在事务 A 多次读取的过程中,对数据做了更新并提交,导致事务 A 阅读全文
posted @ 2020-01-13 20:39 当年明月123 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章我们已经介绍过了集中常用的 IO 模型了。IO 多路复用模型是我们用的最多的一种 IO 模型。select,poll,epoll 都是 IO 多路复用的机制。I/O 多路复用就是通过一种机制,一个进程可以监视多个描述符。一旦某个描述符就绪(读或者写就绪),就通知程序进行相应的读写操作。 s 阅读全文
posted @ 2020-01-13 16:57 当年明月123 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 什么是 IO 我们知道在 Unix 系统里面,一切都是文件。文件也就是一串二进制流而已。不管是 Socket,管道,终端,对我们来说,都是文件,都是流。 在信息交换的过程中,我们对这些流进行数据的收发操作,简称 I/O 操作(input 和 output) 。 计算器里面有这么多的流,我们怎么知道要 阅读全文
posted @ 2020-01-13 10:41 当年明月123 阅读(369) 评论(0) 推荐(1) 编辑