//设置的key
String redisKey = "redis_key_user_info";
//每次的自动生成的uuid
String value = IdUtil.fastUUID();
try {
Boolean getLock = stringRedisTemplate.opsForValue().setIfAbsent(redisKey, value, 10, TimeUnit.MINUTES);
if (!getLock) {
return ApiResultUtil.failure("已经有任务在执行,大约10分钟,请稍后再试!!!") ;
}
//获取到redis锁,进行业务逻辑
log.info("获取到redis锁");
//此处编写你的业务功能
} catch (Exception e) {
e.printStackTrace();
} finally {
if (value.equals(stringRedisTemplate.opsForValue().get(redisKey))) {
stringRedisTemplate.delete(redisKey);
}
}
结合redis编写一个简单的分布式锁
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。