Caffeine 介绍
Caffeine 是一个高性能的本地缓存库。
环境配置
- JDK版本:1.8
- Caffeine 版本:2.9.3
- SpringBoot 版本:2.7.0
SpringBoot 集成 Caffeine
SpringBoot 有如下两种方式集成 Caffeine :
- 方式一:直接引入 Caffeine 依赖,然后使用 Caffeine 方法实现缓存。
- 方式二:引入 Caffeine 和 Spring Cache 依赖,使用 SpringCache 注解方法实现缓存。
我们这里只介绍方式一。
1、引入相关依赖
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
2、缓存配置类
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
@Configuration
public class CacheConfig {
@Bean
public Cache<String, Object> caffeineCache() {
return Caffeine.newBuilder()
// 设置最后一次写入或访问后两个小时后过期
.expireAfterWrite(7200, TimeUnit.SECONDS)
// 初始的缓存空间大小
.initialCapacity(100)
// 缓存的最大条数
.maximumSize(1000)
.build();
}
}
3、数据存取
// 1. 注入
@Resource
private Cache<String, Object> caffeineCache;
// 2. 存储数据
caffeineCache.put("access_token", token);
// 3. 读取数据
String token = (String) caffeineCache.asMap().get("access_token");