From af9cfb40a4c37579f21624c9f72ea4d9759095ff Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 27 五月 2021 17:38:44 +0800 Subject: [PATCH] 优化参数&字典缓存操作 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 44 +++++++++++++++++++++++++++++--------------- 1 files changed, 29 insertions(+), 15 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index f1e2f29..41ef261 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -37,11 +37,7 @@ @PostConstruct public void init() { - List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); - for (SysConfig config : configsList) - { - redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } + loadingConfigCache(); } /** @@ -137,7 +133,7 @@ * @return 结果 */ @Override - public int deleteConfigByIds(Long[] configIds) + public void deleteConfigByIds(Long[] configIds) { for (Long configId : configIds) { @@ -146,27 +142,45 @@ { throw new CustomException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); } + configMapper.deleteConfigById(configId); + redisCache.deleteObject(getCacheKey(config.getConfigKey())); } - int count = configMapper.deleteConfigByIds(configIds); - if (count > 0) - { - Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*"); - redisCache.deleteObject(keys); - } - return count; } /** - * 清空缓存数据 + * 加载参数缓存数据 */ @Override - public void clearCache() + public void loadingConfigCache() + { + List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); + for (SysConfig config : configsList) + { + redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + } + } + + /** + * 清空参数缓存数据 + */ + @Override + public void clearConfigCache() { Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*"); redisCache.deleteObject(keys); } /** + * 重置参数缓存数据 + */ + @Override + public void resetConfigCache() + { + clearConfigCache(); + loadingConfigCache(); + } + + /** * 校验参数键名是否唯一 * * @param config 参数配置信息 -- Gitblit v1.9.2