悲观🔒和乐观🔒

2019/12/25 113

悲观锁

悲观锁(Pessimistic Lock),每次去拿完数据后,都认为别人修改了数据,为了一致性,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会 block,直到解锁。传统的关系型数据库里面就用到了很多这种🔒机制,比如行锁,表锁,读锁,写锁等等,都是在操作前先上锁。

乐观锁

乐观锁(Optimistic Lock),每次去拿完数据后,都认为数据没有被修改,所以不会上锁,但是在更新的时候会判断一下在字段(比如 Version 字段),也就是所谓的版本号机制。乐观锁适用于多读应用程序,这样可以提高吞吐量。

评论