watch可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行。监控一直持续到EXEC命令(事务中的命令是在EXEC之后才执行的,所以在MULTI命令后可以修改WATCH监控的键值)
RedisTemplate template = null;//这里配置自己的redis
template.watch("key");
template.multi();
template.opsForValue().set("key","value");
List exec = template.exec();
if (null==exec){
System.out.println("已经有其他线程更改了");
}else {
System.out.println("更改成功");
}
链接:https://www.jianshu.com/p/935e3a06d0bb