實現簡單的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);
        }

如有問題懇請大佬們指出,個人實踐,可能存在問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章