悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作,在执行数据库操作的时候上锁(for_update) 乐观锁:假定不会发生并发冲突,只在提交操作时检查是否违反数据完整性。悲观锁和乐观锁都用到了数据库中的 事物 的概念。事物:一组数据库操作,要么都成功,要么都失败。