- 排他锁:对一行数据加上排他锁,其他事务不能对该行数据进行读取和修改操作.
- 共享锁:对一行数据加上共享锁,其他事务不能修改该行数据,但是可以同时获取共享锁,读取该行数据.
- 脏读
- 一个事务中,数据修改的时候加上排他锁,修改完成,提交事务,然后释放排他锁.解决了事务1读取到事务2修改数据,但是未提交的数据.
- 数据读取的时候加上共享锁,读取完释放共享锁.
- 不可重复读
- 数据修改和脏读相同,都是在一个事务中加上排他锁,事务结束的时候释放.
- 数据读取,则改为了在事务开始的时候加上共享锁,在事务结束的时候释放共享锁.这样就避免了事务1在事务2修改数据成功前后,读取数据结果不一致的结果.
数据库事务中脏读和不可重复读的悲观锁实现
最新推荐文章于 2021-03-25 16:40:13 发布