1.Spring Cache
2.常用注解
3.代码
在启动类开启缓存注解功能
@EnableCaching // 开启缓存注解功能
public class SkyApplication {
public static void main(String[] args) {
SpringApplication.run(SkyApplication.class, args);
log.info("server started");
}
}
加入注解@Cacheable(cacheNames = "setmealCache", key = "#categoryId")
@GetMapping("/list")
@ApiOperation("根据分类id查询套餐")
@Cacheable(cacheNames = "setmealCache", key = "#categoryId")
public Result<List<Setmeal>> list(Long categoryId) {
Setmeal setmeal = new Setmeal();
setmeal.setCategoryId(categoryId);
setmeal.setStatus(StatusConstant.ENABLE);
List<Setmeal> list = setmealService.list(setmeal);
return Result.success(list);
}
清理缓存注解
@CacheEvict(cacheNames = "setmealCache", key = "#setmealDTO.categoryId")
@CacheEvict(cacheNames = "setmealCache",allEntries = true)
@PutMapping
@ApiOperation("修改套餐")
@CacheEvict(cacheNames = "setmealCache",allEntries = true)
public Result updateSetmeal(@RequestBody SetmealDTO setmealDTO) {
log.info("修改套餐的信息:{}",setmealDTO);
setmealService.update(setmealDTO);
return Result.success();
}