悲观锁和乐观锁使用场景


乐观锁是在应用层加锁,而悲观锁是在数据库层加锁(for update)

乐观锁顾名思义就是在操作时很乐观,这数据只有我在用,我先尽管用,最后发现不行时就回滚。

悲观锁在操作时很悲观,生怕数据被其他人更新掉,我就先将其先锁住,让别人用不了,我操作完成后再释放掉。

悲观锁需要数据库级别上的的实现,程序中是做不到的,如果在长事务环境中,数据会一直被锁住,导致并发性能大大地降低。

一般来说如果并发量很高的话,建议使用悲观锁,否则的话就使用乐观锁。

如果并发量很高时使用乐观锁的话,会导致很多的并发事务回滚、操作失败。

总之,冲突几率大用悲观,小就用乐观。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM