Spring Cache
Spring Cache
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发
Spring Cache 是一个框架,实现了了基于注解的缓存功能,只需要简单地添加一个注解,就能实现缓存功能。
Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,例如:
- EHCache
- Caffeine
- Redis
导入cache的maven坐标:
1 | <dependency> |
若你想通过Redis来作为具体的缓存实现,只需在pom文件中导入Reids的java客户端
想使用Spring Cache,主要就是使用它的一系列注解
常用注解:
| 注解 | 说明 |
|---|---|
| @EnableCaching | 开启缓存功能,通常加在启动类上 |
| @Cacheable | 在方法执行前先查询缓存中是否有数据,若有:则直接返回缓存数据:若无,调用方法并将方法返回值放到缓存中 |
| @CachePut | 将方法的返回值放到缓存中 |
| @CacheEvict | 将一条或多条数据从缓存中删除 |
@CachePut使用说明:
1 |
|
这里的#user.id可以改为result.id,result在这里是固定的表达,指的是返回值
key = “#user.id” 也可以换为key = “#p0.id”,p0在这里指的是第一个参数
. :对象导航
@Cacheable使用说明:
1 |
|
@CacheEvict使用说明:
1 |
|
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.


