**悲观锁:**就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。这样别人想拿这个数据就会block,直到他拿到锁。传统的关系型数据就用了很多这种机制,比如行锁,写锁等,都在操作之前上锁。
**乐观锁:**就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候回判断一下在此期间别人有没有去更新这个数据。使用与多读,比如write_condition。
两种锁各有优缺点,不能认为一种比一种好。
**悲观锁:**就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。这样别人想拿这个数据就会block,直到他拿到锁。传统的关系型数据就用了很多这种机制,比如行锁,写锁等,都在操作之前上锁。
**乐观锁:**就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候回判断一下在此期间别人有没有去更新这个数据。使用与多读,比如write_condition。
两种锁各有优缺点,不能认为一种比一种好。