乐观锁和悲观锁

2018-10-16  本文已影响0人  LeeDa李

事务(transaction)概念

一组DML语句(select、update、delete等)在同一事务中,要么全都提交,要么全不提交

事务隔离性

读未提交(read uncommitted)

读已提交(read committed)

可重复读(repeatable read)

串行化(serializable)

悲观锁与乐观锁

悲观锁

在一个事务结束之前,别的事物无法对该数据进行修改(影响并发性能)

乐观锁

允许多个事务同时修改,一旦其中一个事务进行了提交,则其他事务无法进行提交

Django中应用

model.objects.select_for_update().get() #加互斥锁
# view函数前加transaction修饰符保证原子性
@transaction.atomic

参考资料

上一篇 下一篇

猜你喜欢

热点阅读