C++/MySQL/Redis 锁机制 - 2
MySQL 锁机制:数据库事务中的数据一致性保障MySQL 作为关系型数据库,其锁机制与事务隔离级别深度绑定,核心解决多事务并发访问时的数据一致性问题(如脏读、不可重复读、幻读)。锁的粒度从 “表级” 到 “行级”,支持乐观锁与悲观锁,适配不同并发场景。 1. 表级锁:粗粒度悲观锁核心定义锁定整个数据表,同一时间仅允许特定类型的操作(读 / 写)执行,是 MySQL 中粒度最粗的锁。MyISAM 存储引擎默认支持,InnoDB 也支持但不常用。 底层实现 读锁(共享锁,S 锁):多个事务可同时获取读锁,允许读操作,禁止写操作; 写锁(排他锁,X 锁):仅一个事务可获取写锁,禁止其他事务读 / 写操作; 锁冲突检测在 MySQL 服务器层完成,无需深入存储引擎,开销低但并发度低。 代码示例(手动加表锁)1234567891011-- 1. 会话1:获取表读锁(允许其他会话读,禁止写)LOCK TABLES user_info READ;SELECT * FROM user_info WHERE id = 1; -- 允许执行UPDATE user_inf...

