如何使用缓存的数据初始化Redis

时间:2018-08-26 13:13:42

标签: java spring http spring-boot redis

我有一个使用spring bootredis构建的服务,它可以监听HTTP的请求。

我希望服务器启动时,它会在Redis缓存中填充一些预定义的数据。

我考虑过要拥有一个.yml文件,当服务启动时,它会使用该/addData文件的信息来调用.yml之类的端点;但是我认为这不是实现我目标的有效方法。

使用redis中缓存的数据来启动服务的最佳选择是什么?

2 个答案:

答案 0 :(得分:0)

在EventListener或main方法上有2个选项

@EventListener(ApplicationReadyEvent.class)
public void loadRedis() {
    //do the work here
}

另一个选择是在springbootapplication main方法中执行该操作。

public static void main(final String[] args) {
    ConfigurableApplicationContext context = 
 SpringApplication.run(Application.class, args);

    context.getBean(Whatever.class).loadRedis();
}

答案 1 :(得分:0)

使用JedisPool

public static void initCache() {
   jedisPool = new JedisPool( new JedisPoolConfig() , "localhost",8081);

 }