// redis 读后写aba操作,a操作
@RequestMapping("/A")
@ResponseBody
public String optA(HttpServletResponse response) throws Exception {
String res = null;
List rs = null;
redisUtil.getTemplate().setEnableTransactionSupport(true);
try {
do {
redisUtil.getTemplate().watch("dayQuota");
String dayQuota = redisUtil.getValue("dayQuota").toString();
int dayQuotaint = Integer.parseInt(dayQuota);
res = String.format("optA %d+1=%d", dayQuotaint, dayQuotaint + 1);
dayQuotaint = dayQuotaint + 1;
// 耗时操作
Thread.sleep(5000);
redisUtil.getTemplate().multi(); // 开始事务
redisUtil.setValue("dayQuota", dayQuotaint);
rs = redisUtil.getTemplate().exec();// 提交事务
//System.out.println(JSON.toJSONString(rs, true));
log.debug(res);
} while (rs == null||rs.size()==0);// 多重检测,直到执行成功。
} catch (Exception e) { // 如果key被改变,提交事务时这里会报异常
e.printStackTrace();
}
redisUtil.getTemplate().setEnableTransactionSu
redis 读后写aba操作
最新推荐文章于 2024-06-11 15:55:34 发布