在 Spring Boot 中,我们可以使用 Spring Cache 抽象来配置和使用缓存
在 pom.xml
文件中,添加 Spring Boot 缓存依赖:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
在主类或者配置类上添加 @EnableCaching
注解,以启用 Spring Boot 的缓存支持。
@SpringBootApplication
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在 application.properties
或 application.yml
文件中,配置缓存相关参数。例如,如果你想使用 Caffeine 作为缓存实现,可以添加以下配置:
spring:
cache:
type: caffeine
caffeine:
spec: maximumSize=500,expireAfterAccess=600s
这里,我们将缓存类型设置为 caffeine
,并设置了最大缓存大小为 500,缓存过期时间为 600 秒。
在需要缓存的方法上添加 @Cacheable
注解。例如,以下代码将缓存 getUser
方法的结果:
@Service
public class UserService {
@Cacheable(value = "users", key = "#id")
public User getUser(Long id) {
// 获取用户的逻辑
}
}
这里,我们将缓存的名称设置为 users
,缓存的 key 为方法参数 id
。
除了 @Cacheable
,Spring Cache 还提供了其他注解,如 @CachePut
(用于更新缓存而不影响方法执行)、@CacheEvict
(用于删除缓存)和 @Caching
(用于组合多个缓存操作)。
通过以上步骤,你可以在 Spring Boot 项目中配置和使用缓存。根据实际需求,你还可以选择使用其他缓存实现,如 Redis、EhCache 等。