1. (common) CacheNames 增加缓存组名称常量 ;
[fix]:
2. (common) 缓存工具类 CacheUtils - 修正 CacheUtils#get 方法错误返回值 ;
[refactor]:
1. (system, oss) 重构OSS配置服务, OSS工厂, RedisUtils 缓存操作替换为 CacheUtils ;
This commit is contained in:
zlyx 2022-08-13 16:34:32 +08:00
parent 21c6a3b14f
commit a23bf68bc6
4 changed files with 18 additions and 22 deletions

View File

@ -26,8 +26,13 @@ public interface CacheNames {
String SYS_CONFIG = "sys_config";
/**
* 系统字典
* 数据字典
*/
String SYS_DICT = "sys_dict";
/**
* OSS配置
*/
String SYS_OSS_CONFIG = "sys_oss_config";
}

View File

@ -24,7 +24,7 @@ public class CacheUtils {
* @param key 缓存key
*/
public static Object get(String cacheNames, Object key) {
return CACHE_MANAGER.getCache(cacheNames).get(key);
return CACHE_MANAGER.getCache(cacheNames).get(key).get();
}
/**

View File

@ -1,7 +1,9 @@
package com.ruoyi.oss.factory;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.cache.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.core.OssClient;
@ -42,7 +44,7 @@ public class OssFactory {
*/
public static OssClient instance() {
// 获取redis 默认类型
String configKey = RedisUtils.getCacheObject(OssConstant.CACHE_CONFIG_KEY);
String configKey = (String) CacheUtils.get(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY);
if (StringUtils.isEmpty(configKey)) {
throw new OssException("文件存储服务类型无法找到!");
}
@ -62,7 +64,7 @@ public class OssFactory {
}
private static void refresh(String configKey) {
Object json = RedisUtils.getCacheObject(OssConstant.SYS_OSS_KEY + configKey);
Object json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey);
OssProperties properties = JsonUtils.parseObject(json.toString(), OssProperties.class);
if (properties == null) {
throw new OssException("系统异常, '" + configKey + "'配置信息不存在!");

View File

@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.cache.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.oss.constant.OssConstant;
import com.ruoyi.oss.factory.OssFactory;
@ -53,7 +55,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
for (SysOssConfig config : list) {
String configKey = config.getConfigKey();
if ("0".equals(config.getStatus())) {
RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, configKey);
CacheUtils.put(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY, configKey);
}
setConfigCache(true, config);
}
@ -126,9 +128,8 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
}
boolean flag = baseMapper.deleteBatchIds(ids) > 0;
if (flag) {
list.forEach(sysOssConfig -> {
RedisUtils.deleteObject(getCacheKey(sysOssConfig.getConfigKey()));
});
list.forEach(sysOssConfig ->
CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey()));
}
return flag;
}
@ -158,21 +159,11 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
.set(SysOssConfig::getStatus, "1"));
row += baseMapper.updateById(sysOssConfig);
if (row > 0) {
RedisUtils.setCacheObject(OssConstant.CACHE_CONFIG_KEY, sysOssConfig.getConfigKey());
CacheUtils.put(CacheNames.SYS_OSS_CONFIG, OssConstant.OSS_CONFIG_KEY, sysOssConfig.getConfigKey());
}
return row;
}
/**
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
*/
private String getCacheKey(String configKey) {
return OssConstant.SYS_OSS_KEY + configKey;
}
/**
* 如果操作成功 则更新缓存
*
@ -182,9 +173,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
*/
private boolean setConfigCache(boolean flag, SysOssConfig config) {
if (flag) {
RedisUtils.setCacheObject(
getCacheKey(config.getConfigKey()),
JsonUtils.toJsonString(config));
CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
RedisUtils.publish(OssConstant.CACHE_CONFIG_KEY, config.getConfigKey(), msg -> {
log.info("发布刷新OSS配置 => " + msg);
});