Caffeine的tokenCache与Spring的CaffeineCacheManager缓存区别

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。

相关推荐
申城异乡人8 分钟前
使用Java Stream,将集合转换为一对一Map
java
廋到被风吹走8 分钟前
【Spring】Spring ORM 深度解析
java·后端·spring
快乐的划水a15 分钟前
「CIC→DMA→FIFO」的完整数据流程
缓存
bbq粉刷匠17 分钟前
Java--二叉树概念及其基础应用
java·数据结构·算法
青衫码上行29 分钟前
【JavaWeb学习 | 第23篇】监听器、RBAC权限模型
java·学习·servlet·jsp
宋情写40 分钟前
Springboot基础篇01-创建一个SpringBoot项目
java·spring boot·后端
悟能不能悟42 分钟前
java map<String,List>判断是否有key,get(key.add(x),否则put(key,new list(){x})的新写法
java·list
@淡 定1 小时前
缓存更新策略深度解析与最佳实践
缓存
快乐的划水a1 小时前
多级缓存架构
缓存·架构