springboot项目如何使用cacheManager进行缓存存储
时间: 2024-09-30 13:06:49 浏览: 21
在Spring Boot项目中,使用`CacheManager`进行缓存存储通常涉及以下几个步骤:
1. **添加依赖**:首先,在项目的pom.xml或build.gradle文件中添加Spring Cache或Spring Data Redis等相关依赖,如果是内存缓存,可以使用`spring-boot-starter-cache`;如果需要Redis作为缓存,可以添加`spring-boot-starter-data-redis`。
```xml
<!-- Maven -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- Gradle -->
implementation 'org.springframework.boot:spring-boot-starter-cache'
```
2. **配置CacheManager**:在application.properties或application.yml中设置缓存管理器的相关配置,例如默认的缓存类型、缓存名称等。若使用Redis,则需配置Redis服务器地址。
```properties
spring.cache.type=caffeine # 默认内存缓存
# 或者
spring.redis.host=localhost
spring.redis.port=6379
```
3. **创建CacheConfiguration**:通过`@EnableCaching`注解启用缓存,并可以自定义缓存策略,如缓存时间过期、大小限制等。
```java
@Configuration
@EnableCaching
public class CachingConfig {
@Bean
public CacheManager cacheManager() {
// 创建缓存管理器实例,如CaffeineCacheManager
return new CaffeineCacheManager();
}
}
```
4. **使用Cacheable注解**:在需要缓存的方法上添加`@Cacheable`注解,指定缓存名和缓存策略。也可以通过`@CacheEvict`和`@CachePut`注解来操作缓存。
```java
@Service
public class MyService {
@Cacheable(value = "myCache", key = "#id")
public String fetchData(int id) {
// ...从数据库或其他数据源获取数据
}
@CacheEvict(value = "myCache", allEntries = true)
public void deleteData(int id) {
// ...删除对应的数据
}
}
```
阅读全文