在springboot项目中,用RedisTemplate操作redis
public void redisLockMethod() {
//redis锁的key
String lockKey = "redisLock";
//redis锁的value
String uuid = UUID.randomUUID().toString();
//获取锁并设置锁过期时间
boolean result = redisTemplate.opsForValue().setIfAbsent(lockKey, uuid, 60, TimeUnit.SECONDS);
if (result) {
try {
//你的业务代码
doYourTask();
} catch (Exception e) {
e.printStackTrace();
} finally {
//判断释放的锁是否是本线程获取的锁
if (uuid.equals(redisTemplate.opsForValue().get(lockKey))) {
//释放锁
redisTemplate.delete(lockKey);
}
}
}
}