若依系统(Ruoyi-Vue)去除redis数据库

本文档详细介绍了在Ruoyi-Vue系统中去除Redis数据库的过程,包括移除配置、创建MyMapCache类以替代Redis缓存、修改DictUtils、令牌桶算法限流及TokenService的调整,旨在满足国产化适配需求。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


目的

因为根据项目需求需要进行国产化适配,redis安装在国产化系统比较麻烦,并且不能通过国产化测评,所以现在对redis进行剥离。


一、去除redis 配置

去除ruoyi-admin下application.yml的redis配置!
在这里插入图片描述

二、去除ruoyi-framework下RedisConfig的配置

直接注释@Bean、@Configuration和@EnableCaching注解就可以了,不用删除RedisConfig,防止后期又要使用redis,直接放开就可以了。
在这里插入图片描述

三、在ruoyi-common的core/redis下新建MyMapCache类

@Component
public class MyMapCache{
   

    public ConcurrentHashMap<String, Object> concurrentHashMap = new ConcurrentHashMap<String, Object>();

    /**
     * 放入值
     *
     * @param key
     * @param value
     */
    public void put(String key, Object value) {
   
        concurrentHashMap.put(key, value);
    }

    /**
     * 取值
     *
     * @param key
     * @return
     */
    public Object get(String key) {
   
        return concurrentHashMap.get(key);
    }

    /**
     * 移除
     *
     * @param k
     */
    public void remove(String key) {
   
        concurrentHashMap.remove(key);
    }

}

四、关于RedisCache类

暂时用不到,但是为了防止系统报错,暂时不需要整改和删除。

五、修改ruoyi-common下utils/DictUtils

public class DictUtils {
   
    /**
     * 分隔符
     */
    public static final String SEPARATOR = ",";

    /**
     * 设置字典缓存
     *
     * @param key       参数键
     * @param dictDatas 字典数据列表
     */
    public static void setDictCache(String key, List<SysDictData> dictDatas) {
   
        SpringUtils.getBean(MyMapCache.class).put(getCacheKey(key), dictDatas);
    }

    /**
     * 获取字典缓存
     *
     * @param key 参数键
     * @return dictDatas 字典数据列表
     */
    public static List<SysDictData> getDictCache(String key) {
   
        Object cacheObj = SpringUtils.getBean(MyMapCache.class).get(getCacheKey(key));
        if (StringUtils.isNotNull(cacheObj)) {
   
            List<SysDictData> dictDatas = StringUtils.cast(cacheObj);
            return dictDatas;
        }
        return null;
    }


    /**
     * 根据字典类型和字典值获取字典标签
     *
     * @param dictType  字典类型
     * @param dictValue 字典值
     * @return 字典标签
     */
    public static String getDictLabel(String dictType, String dictValue) {
   
        return getDictLabel(dictType, dictValue, SEPARATOR);
    }

    /**
     * 根据字典类型和字典标签获取字典值
     *
     * @param dictType  字典类型
     * @param dictLabel 字典标签
     * @return 字典值
     */
    public static String getDictValue(String dictType, String dictLabel) {
   
        return getDictValue(dictType, dictLabel, SEPARATOR);
    }

    /**
     * 根据字典类型和字典值获取字典标签
     *
     * @param dictType  字典类型
     * @param dictValue 字典值
     * @param separator 分隔符
     * @return 字典标签
     */
    public static String getDictLabel(String dictType, String dictValue, String separator) {
   
        StringBuilder propertyString = new StringBuilder();
        List<SysDictData> datas = getDictCache(dictType);

        if (StringUtils.containsAny(separator, dictValue) && StringUtils.isNotEmpty(datas)) {
   
            for (SysDictData dict : datas) {
   
                for (String value : dictValue.split(separator)) {
   
                    if (value.equals(dict.getDictValue())) {
   
                        propertyString.append(dict.getDictLabel() + separator);
                        break;
                    }
                }
            }
        } else {
   
            for (SysDictData dict : datas) {
   
                if (dictValue.equals(dict.getDictValue())) {
   
                    return dict.getDictLabel(
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值