public void saveUser(Sub param) {
boolean lock = getLock(lockId ,value, 10);
if(lock){
doshomething();
releaseLock(id);
}
}
/**
* 获得锁
*/
private boolean getLock(String lockId,String value, long minutes) {
Boolean success = stringRedisTemplate.opsForValue().setIfAbsent(lockId, value,
minutes, TimeUnit.MINUTES);
return success != null && success;
}
/**
* 释放锁
*/
private void releaseLock(String lockId) {
String lock = stringRedisTemplate.opsForValue().get(lockId);
if (StringUtils.isNotBlank(lock)){
stringRedisTemplate.delete(lockId);
}
}