摘要:
next-key lock是MVCC多版本并发控制的锁机制,目的是在事务隔离级别REPEATABLE READ下防止幻读。 行锁+间隙锁=next-key lock 会锁住数据本身和他之前的数据之间的间隙。 假设 user 表中有以下记录,id 是主键(唯一索引): id:1,3,7 当查询id=7 阅读全文
posted @ 2025-08-01 23:00
Charlie-Pang
阅读(14)
评论(0)
推荐(0)
摘要:
1、锁定索引记录间隙(不包括该记录),确保索引记录间隙不变,防止其他事务在这个间隙进行insert,产生幻读,在RR隔离级别下支持。 例:id为索引,6-12之间的索引中添加间隙锁。 2、索引上的等值查询(唯一索引),给不存在的记录加锁时,优化为间隙锁。 举例: CREATE TABLE user 阅读全文
posted @ 2025-08-01 18:26
Charlie-Pang
阅读(30)
评论(0)
推荐(0)
摘要:
全局锁 对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML写语句、DDL语句已经更新操作的事务提交语句都将被阻塞。 例:做全库的逻辑备份,对所有表进行锁定,从而获取一致性视图,保证数据的完整性。 加锁语句:flush tables with read lock; 释放语句:unlock 阅读全文
posted @ 2025-08-01 16:39
Charlie-Pang
阅读(7)
评论(0)
推荐(0)
摘要:
准备工作 1、建立一个工厂Event类,用于创建Event类实例对象。 2、需要有一个监听事件类,用于处理数据(Event类)。 3、实例化Disruptor实例,配置一系列参数,编写Disruptor核心组件。 4、编写生产者组件,向Disruptor容器发送数据。 注意事项 Disruptor实 阅读全文
posted @ 2025-08-01 10:48
Charlie-Pang
阅读(30)
评论(0)
推荐(0)