结合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);
            }
        }

你可能感兴趣的:(结合redis编写一个简单的分布式锁)