实现简单的Redis分布式锁

lock方法

    private boolean lock(String lockKey) {
        if(redisCache.getObj(lockKey) != null){
            return false;
        }
        redisCache.set(lockKey,true);
        return true;
    }

unlock方法

    private void unlock(String lockKey) {
        if(redisCache.getObj(lockKey) == null){
            throw new BrillilabException(ResultEnum.FAILURE);
        }
        redisCache.delete(lockKey);
    }

使用方法

        if(lock(lockKey)){
        //需要枷锁的业务逻辑代码
            this.dealToMyNewMethod(user,oriMethod,source,sync.getName(),sync.getRecommendTime(),sync.getLabName(),null);
            methodRecommendService.saveReceive(receive);
            recommendMethodSyncService.update(sync);
            unlock(lockKey);
        }

如有问题恳请大佬们指出,个人实践,可能存在问题

发布了83 篇原创文章 · 获赞 27 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weweeeeeeee/article/details/101197050