SpringCache是一个框架,只需要添加一个注解,就能实现缓存功能的实现,常用的就是Redis的缓存实现

依赖

spring-boot-starter-data-redis  与   spring-boot-starter-cache

@EnableCatching标注在启动类上,开启基于注解的缓存功能

@CachePut 将方法的缓存值放入到缓存中

@CachePut(value=“userCache”,key=“result.id”)

@PostMapping(“/user”)

public User save (@RequestBody User user){

userMapper.insert(user);       

return user;

}其中value用于指定缓存内存区域的名称,key缓存数据的key支持SPEL表达式如#user.id  #result.id

@Cacheable在方法执行前查看缓存中是否有数据,如果有直接返回,如果没有,将调查方法查询数据库结果返回值放入到缓存中

@Cacheable(value="userCache",key="#id")

@GetMapping("/user/{id}")

public User findById(@PathVariable Long id ){~~~~}

@CacheEvict清理指定缓存

@CacheEvict(value = "userCache", key = "#id")   清理指定key的缓存@DeleteMapping("/user/{id}") 
public void deleteById(@PathVariable Long id) {~~~}

@CacheEvict(value = "userCache", allEntries = true)  清理整个value区域所有缓存
@DeleteMapping("/user")
public void deleteAll() {~~~~}

02-08 06:46