导入相关依赖包
然后在启动类上使用@EnableCaching开启缓存支持
几个其他注解:
(1)@ CachePut 将方法的返回值放到缓存中,具体用什么样的缓存产品,就看当前配置的环境
下面的例子就是往表中插入一行数据,并且把插入的这行数据保存到缓存里面
@CachePut(value="userCache",key="#user.name")//缓存名称和缓存的key
@PostMapping
public User save(User user)
{
userService.save(user);
return user;
}
(2)@CacheEvict注解 删除缓存
@CacheEvict(value="userCache",key="#id")
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id)
{
userService.removeById(id);
}
(3)@Cacheable注解 在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据,若没有数据,则调用方法后,将方法的返回值放到缓存中
@Cacheable(value="userCache",key="#id")
@GetMapping("/{id}")
public User getById(@PathVariable Long id)
{
User user=userService.getById(id);
return user;
}