Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,例如:

  • EHCache

  • Caffeine

  • Redis

1,引入依赖

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

常用注解

注解 说明

@EnableCaching 开启缓存注解功能,通常加在启动类上

@Cacheable 在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中

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

@CacheEvict 将一条或多条数据从缓存中删除

2,在启动类加上@EnableCaching注解

3,使用



@PostMapping
@Cacheable(cacheNames="userCache", key="#user.id") //Redis中生成的key为userCache::加上user.id
public User save(@RequestBody User user){
    userMapper.insert(user);
    return user;
}