乐观锁:认为是读多写少,进行写操作时,使用当前版本号与上次版本号是否一致,如果一致就进行写操作,如果不一致(重复读版本号-比较-写操作)。例如CAS
悲观锁:认为是写多读少,借助数据库的锁机制,在修改数据之前,先对需要修改的数据加锁。想要修改数据,必须要获取锁。例如MySQL中的InnoDB
相对而言,在高并发场景下,乐观锁的性能要优于悲观锁,但是安全性悲观锁很好。
乐观锁与悲观锁
最新推荐文章于 2021-03-14 00:35:50 发布
乐观锁:认为是读多写少,进行写操作时,使用当前版本号与上次版本号是否一致,如果一致就进行写操作,如果不一致(重复读版本号-比较-写操作)。例如CAS
悲观锁:认为是写多读少,借助数据库的锁机制,在修改数据之前,先对需要修改的数据加锁。想要修改数据,必须要获取锁。例如MySQL中的InnoDB
相对而言,在高并发场景下,乐观锁的性能要优于悲观锁,但是安全性悲观锁很好。