Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

乐观锁和悲观锁

  1. 悲观锁

    悲观锁对数据修改持有悲观态度,认为数据很容易被修改,所以在修改数据前会先给加锁,效率较低。

  2. 乐观锁

    乐观锁假设一般情况下不会造成数据冲突,所它只在事务提交更新的时候,才去检测是否有冲突。如果冲突了则给用户返回一定的信息让用户自己去处理。

    乐观锁并不是真正的加锁,通常,它可以通过版本号,或者时间戳等来判断是否发生了冲突。比如添加版本号,每次修改数据时都会带上版本号,如果执行更新时的版本号和我们刚刚查询出来的版本号一致,就可以执行更新,否则,就认为是过期的数据 。

评论