不使用redis等中间缓存插件帮助,在项目启动时加载数据到内存

  • Post author:
  • Post category:其他


  • 在平常开发的过程中,经常会出现在项目中一直需要使用的一些数据。通常的解决办法是将数据使用redis加载到缓存中,以此达到提高数据的查询速度。但是这样对于我们的项目有一个巨大的问题。就是我们部署项目的时候还必须要在服务器上部署redis。事实上springboot内部就有可以将数据加载至缓存的办法,以便我们在项目开发的时候,可以直接使用这部分数据。

  • 具体使用的代码如下

    1.需要创建一个类用于加载需要存储至缓存中的数据。

@Component
@Order(1)
public class ApplicationRunnerTest implements ApplicationRunner {

    @Resource
    private lMapper mapper;

    public static Map<String,Object> map=new HashMap<String,Object>();
    private Logger logger = LoggerFactory.getLogger(getClass());


    @Override
    public void run(ApplicationArguments args) {
        //初始化加载所有接收点数据至缓存
        logger.info("将数据加载至缓存");
        map.put("data",this.mapper.findAllPoint());
        logger.info("加载完成");
    }
}

2.调用数据的方法

List<Data> receivingpoint= (List<Data>) ApplicationRunnerTest.map.get("data");