转载务必说明出处:https://blog.csdn.net/LiaoHongHB/article/details/83410650
1、redis通过事务机制中watch命令可以实现Java乐观锁机制
public void watch() {
try {
String watchKeys = "watchKeys";
jedis.set(watchKeys, "value");
//监听key为watchKeys的值
jedis.watch(watchkeys);
//开启事务
Transaction tx = jedis.multi();
//watchKeys自增加一
tx.incr(watchKeys);
//执行事务,如果其他线程对watchKeys中的value进行修改,则该事务将不会执行
//通过redis事务以及watch命令实现Java的乐观锁
List<Object> exec = tx.exec();
if (exec == null) {
System.out.println("事务未执行");
} else {
System.out.println("事务成功执行,watchKeys的value成功修改");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
jedis.close();
}
}