SpringBoot项目启动时如何将需要数据添加到redis缓存

 更新时间:2026年04月12日 11:11:43   作者:!)>_<)!  
文章介绍了使用Java注解@PostConstruct进行项目启动时加载,并使用Spring和Redis进行数据缓存的操作,通过`setCacheObject`方法将数据存储到Redis中,并提供了清空缓存的方法

首先项目启动时加载

这里使用了一个Java注解@PostConstruct@PostConstruct该注解被用来修饰一个非静态的void()方法。

被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。

    @PostConstruct
    public void init(){
        loadingCache();
    }

loadingCache方法里就是添加缓存的代码

通过SpringUtils.getBean(RedisCache.class).setCacheObject(key,value)来添加缓存:

@Override
    public void loadingCache(){
        DvCode dvCode = new DvCode();
        List<DvCode> codeList = dvCodeMapper.selectDvCodeList(dvCode);
        codeList.stream().forEach(list->{
            SpringUtils.getBean(RedisCache.class).setCacheObject(Constants.NAME_KEY+list.getCode(),list.getName());
        });
    }

NAME_KEY是Constants里面添加的

是最终缓存到redis中的key值;

    /***
     code cache key
     */
    public static final String NAME_KEY = "code_name:";

这个时候就数据缓存到redis的操作就已经完成了,重新启动项目后,在redis数据库中就可以看到key为code_name的数据了。

怎么取用数据?

redisCache.getCacheObject(getCacheKey2Name(code));
 public static String getCacheKey2Name(String configKey)
    {
        return Constants.NAME_KEY + configKey;
    }

最后添加一个清空缓存数据的方法

	@Override
    public void clearAreaCodeCache(){
        Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.NAME_KEY + "*");
        SpringUtils.getBean(RedisCache.class).deleteObject(keys);
    }

如果我们在项目启动后更改了数据

又不想重新启动项目,有了添加和清空,这个问题就很好解决了:

	@DeleteMapping("/refreshCache")
    public AjaxResult refreshCache()
    {
        dvCodeService.resetDictCache();
        return AjaxResult.success();
    }

前端搞个按钮什么的,调用一下这个刷新缓存的接口就好啦。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 显示IntelliJ IDEA工具的Run Dashboard功能图文详解

    显示IntelliJ IDEA工具的Run Dashboard功能图文详解

    这篇文章主要介绍了显示IntelliJ IDEA工具的Run Dashboard功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 如何使用Spring Security实现用户-角色-资源的权限控制

    如何使用Spring Security实现用户-角色-资源的权限控制

    文章介绍了如何通过SpringSecurity实现用户-角色-资源的权限管理,包括基于角色的请求控制、加载用户角色信息、角色与资源的关联等步骤,同时,提供了一些测试场景,以验证权限控制是否正确,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • springboot定时任务详解

    springboot定时任务详解

    这篇文章主要介绍了springboot定时任务的相关资料,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2021-01-01
  • Java比较两个List的值是否相等的方法

    Java比较两个List的值是否相等的方法

    这篇文章主要介绍了Java比较两个List的值是否相等的方法,涉及java针对队列比较的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 基于SpringBoot实现图片上传与显示

    基于SpringBoot实现图片上传与显示

    这篇文章主要为大家详细介绍了基于SpringBoot实现图片上传与显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • IntelliJ IDEA下Maven创建Scala项目的方法步骤

    IntelliJ IDEA下Maven创建Scala项目的方法步骤

    这篇文章主要介绍了IntelliJ IDEA下Maven创建Scala项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • java简单读取properties配置文件的方法示例

    java简单读取properties配置文件的方法示例

    这篇文章主要介绍了java简单读取properties配置文件的方法,涉及java针对properties配置的载入及文件属性读取相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Java实现SSH模式加密

    Java实现SSH模式加密

    这篇文章主要介绍了Java实现SSH模式加密的相关资料,需要的朋友可以参考下
    2016-01-01
  • C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法

    C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法

    这篇文章主要介绍了C#使用MySQLConnectorNet和MySQLDriverCS操作MySQL的方法,相比普通方法能够在Windows下简化很多操作步骤,需要的朋友可以参考下
    2016-04-04
  • Java实现的简易记事本

    Java实现的简易记事本

    这篇文章主要介绍了Java实现的简易记事本,较为详细的分析了基于java实现记事本程序的完整过程,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04

最新评论