A_BASE key锁命名 "1" value 随便写一个 5L 5秒 TimeUnit.SECONDS 时间单位 Boolean isLocked = redisUtil.setIfAbsent(“A_BASE”+ en.getLibid(), "1", 5L, TimeUnit.SECONDS);//调用工具方法 if (isLocked != null && isLocked) {
String lockKey = RedisValueUtil.B_PAPER_QUESTION_SORT + en.getLibid() ; if (redisUtil.isExistByKey(lockKey)) {//释放锁 redisUtil.deleteDataByKeys(lockKey); } }
工具:public Boolean setIfAbsent(String key, String value, long timeout, TimeUnit unit){ Boolean isLocked = redisTemplate.opsForValue().setIfAbsent(key, value, timeout, unit); return isLocked; }