项目启动存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); } }
浙公网安备 33010602011771号