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。

相关推荐
廋到被风吹走27 分钟前
【Spring】Spring Data JPA Repository 自动实现机制深度解析
java·后端·spring
MX_935929 分钟前
Spring中Bean的配置(一)
java·后端·spring
sg_knight5 小时前
Spring 框架中的 SseEmitter 使用详解
java·spring boot·后端·spring·spring cloud·sse·sseemitter
爬山算法7 小时前
Redis(162)如何使用Redis实现消息队列?
数据库·redis·缓存
郑州光合科技余经理7 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
u***32437 小时前
【Redis】centos7 systemctl 启动 Redis 失败
数据库·redis·缓存
一只乔哇噻7 小时前
java后端工程师+AI大模型开发进修ing(研一版‖day60)
java·开发语言·人工智能·学习·语言模型
Dolphin_Home7 小时前
笔记:SpringBoot静态类调用Bean的2种方案(小白友好版)
java·spring boot·笔记
踢足球09297 小时前
Redis的典型应用
数据库·redis·缓存
O***P5718 小时前
redis批量删除namespace下的数据
数据库·redis·缓存