项目启动存redis列表

SpringBoot中实现redsi的方法 

 

1.redis依赖

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>

 

2.application.yml 配置

spring:
  redis:
    host: xxx.xxx.xx.xx

 

3.注入

@Autowired
    private RedisTemplate redisTemplate;

 

Springboot项目启动加载类的方法

//把类交给spring管理  项目启动扫描到该类
@Component
//实现ApplicationRunner  接口  重写方法
public class Run implements ApplicationRunner { }  

 

具体实现代码

1.项目加载类

@Component
public class Run implements ApplicationRunner {

    @Autowired
    private RedisTemplate redisTemplate;

    @Autowired
    private TypeController typeController;
    @Override
    public void run(ApplicationArguments args) throws Exception {
        List<TypeEntity>  typelist1 = (List<TypeEntity>) redisTemplate.boundValueOps("typelist").get();
        if(typelist1==null){
            redisTemplate.delete("typelist");
            R list = typeController.list();
            System.out.println(list.get("data"));
            redisTemplate.boundValueOps("typelist").set(list.get("data"));
        }
    }

}

 

2.controller中

@RestController
@RequestMapping("shop/type")
public class TypeController {

    @Autowired
    private TypeService typeService;
    @Autowired
    private RedisTemplate redisTemplate;



    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(){
        List<TypeEntity> list = typeService.list();
        return R.ok().put("data", list);
    }

    /**
     * redis列表
     */
    @RequestMapping("/typeRedisList")
    public R redislist(){
        List<TypeEntity> typeRedisList = (List<TypeEntity>) redisTemplate.boundValueOps("typelist").get();
        return R.ok().put("data", typeRedisList);
    }
}

 

  

 

 

posted on 2022-04-14 11:46  菊_酒  阅读(62)  评论(0)    收藏  举报