您的位置:首页 > 数据库

数据库乐观锁 & 悲观锁

2015-12-29 19:34 204 查看
数据库乐观锁的实现:

在数据库中增加一个version字段。读数据时,将该version读出,更新数据库数据,在update语句的条件中,增加判断条件,只有当前的版本号等于数据库的版本号才去更新数据库,并且在更新时,将version的值也需要加1.

事例如下:

(1) 读数据库中的数据,取得当前version值;

(2) 业务逻辑的处理。

(3) update table set version=version+1 where version = #version#

如果数据库中的version被更改,则会导致更新失败。

悲观锁:

就是在读读数据之前就将数据库锁住,然后更新完之后,再将锁释放。是利用数据库层面的锁机制。

缺点:数据库性能消耗非常大。

在一般的系统中,采用乐观锁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: