乐观锁的核心概念指的是当多个用户修改同一条数据的时候,增加一个版本号的概念,也就是说不同的用户修改数据的时候
需要观测版本号是否与当前数据库中保存数据的版本号相同,如果相同则可以修改,如果不同则不能够修改。
如果要想实现乐观锁的处理,那么需要打开两个 redis 客户端。
1、 现在在里面随意设置一个数据:set test java;
2、 【第一个 session】启用乐观锁:
watch test
multi
3、 【第二个 session】更新数据:
set test hadoop
4、 【第一个 session】修改数据,并且进行事务提交;
set test tomcat
exec
此时执行更新之后返回的内容为“(nil)”,那么就表示当前的更新操作失败了。
乐观锁严格来讲属于一种逻辑锁,像传统的关系型数据库都会存在有悲观锁