springboot如何使用caffeine
时间: 2023-11-16 16:03:09 浏览: 85
spring-boot-redis-guava-caffeine-cache:springboot 使用 redis guava caffeine 缓存示例
Spring Boot可以通过添加Caffeine依赖项来使用Caffeine缓存。下面是使用Caffeine的简单示例:
1. 在Maven或Gradle中添加Caffeine依赖项:
Maven:
```
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.8.8</version>
</dependency>
```
Gradle:
```
implementation 'com.github.ben-manes.caffeine:caffeine:2.8.8'
```
2. 创建一个配置类来配置Caffeine缓存:
```
@Configuration
public class CaffeineConfig {
@Bean
public Cache<String, Object> cache() {
return Caffeine.newBuilder()
.maximumSize(1000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build();
}
}
```
这个配置类创建了一个缓存,最大容量为1000个元素,缓存时间为10分钟。
3. 在需要使用缓存的地方注入缓存对象:
```
@Service
public class MyService {
@Autowired
private Cache<String, Object> cache;
public Object getObject(String key) {
return cache.get(key, k -> expensiveOperation(k));
}
private Object expensiveOperation(String key) {
// 这里可以执行昂贵的操作,例如从数据库中获取数据
return new Object();
}
}
```
在这个示例中,`getObject`方法从缓存中获取对象。如果缓存中不存在对象,则调用`expensiveOperation`方法来获取对象,并将其存储在缓存中。`get`方法的第二个参数是一个回调函数,用于在缓存中不存在对象时调用。
这是使用Caffeine的基本示例。您可以根据需要调整缓存的配置,例如更改缓存的最大容量或缓存条目的过期时间。
阅读全文