什么是乐观锁?什么又是悲观锁?
顾名思义,就是以乐观或者悲观的方式去操作数据。
乐观锁:
从来有一个人特别的乐观,天生的乐观者,干什么都是大大咧咧的,吃饭也不管有没有毒就吃。类似于这样的操作数据方式就是乐观锁,总是认为别人不会操作他的数据,就去操作数据,在提交的时候,根据固定的信息去检查一下,一般就是加version去查询数据,如果发现数据被其他人修改了,本次就不更新数据。
悲观锁:
从来有一个人特别的悲观,天生的悲观者,干什么都是需要小心翼翼的,吃饭必须先验验毒,看看有没有毒害他。类似于这样的操作数据方式就是悲观锁,总是认为别人会操作他的数据,操作数据之前为了确保安全,就先先加锁,等使用完了,就释放这个锁。
乐观锁和悲观锁两个没有绝对的好和不好,只是看适用的情况下把。
如果别人不经常谋害(更新数据不频繁),就适用乐观锁,相反,就是悲观锁。