结合redis编写一个简单的分布式锁

      //设置的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);
            }
        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。