资料来源: http://Chenzhou 123520.iteye.com/blog/1863407
乐观摇滚介绍:
乐观锁(Optimistic Locking )相对于悲观锁,乐观锁假设数据一般不会冲突,因此在数据被提交并更新时会正式检测出数据有无冲突,如果发现冲突,会向用户发送错误的信息那么如何实现乐观锁定,一般有以下两种方法。
1 .利用数据版本记录机制实现是用于乐观锁定的最流行的实现方法。 什么是数据版本? 这意味着将版本id添加到数据中。 通常在数据库表中添加数值类型“version”字段。 读取数据时,一起读取version字段中的值,每次更新数据时,此version值加1。 当我们提交更新时,判断为数据库表中对应记录的当前版本信息与最初检索到的version的值一致,如果数据库表中的当前版本号与最初检索到的version的值相等,则进行更新,否则过期在下图中进行说明:
如上图所示,当更新操作按顺序执行时,“数据版本”(version )按顺序递增,不会发生冲突。 但是,发生不同的业务操作修改了相同版本的数据时,之前提交的操作(图中的b )将数据version更新为2,在a在b之后提交更新时发现数据version被修改了的情况下,a的