redis 實現樂觀鎖
阿新 • • 發佈:2018-11-15
轉載務必說明出處: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(); } }