tokenCache 是 Caffeine 原生创建的缓存实例,它不需要依赖 Spring 的 CaffeineCacheManager,也不参与 Spring 缓存抽象体系(比如不能用在 @Cacheable 注解中)。
tokenCache 只需要简单的几行代码就可以实现本地缓存
java
private final LoadingCache<String, Integer> tokenCache;
public TokenClientCacheService() {
tokenCache = Caffeine.newBuilder()
.maximumSize(1000)
.expireAfterWrite(1, TimeUnit.MINUTES)
.build(this::_loadClientFromRedis); // 自动加载
}
而不用去配置CaffeineCacheManager这些配置文件,也不需要@EnableCaching
使用它:
java
Integer client = tokenCache.get("abc123");
如果你是在一个 Spring Boot 项目中,并且希望:
- 使用 @Cacheable 注解;
- 统一配置多个缓存策略;
- 动态管理缓存配置;
那建议你使用 CaffeineCacheManager + @Cacheable 的方式。
否则,如果你只是某个局部业务逻辑需要缓存,不想引入太多 Spring 依赖,可以用 LoadingCache。