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。

相关推荐
whatever who cares12 分钟前
在Java/Android中,List的属性和方法
android·java
原来是好奇心29 分钟前
Spring Boot缓存实战:@Cacheable注解详解与性能优化
java·spring·mybatis·springboot
java_logo31 分钟前
TOMCAT Docker 容器化部署指南
java·linux·运维·docker·容器·tomcat
麦克马31 分钟前
Netty和Tomcat有什么区别
java·tomcat
程序员小假38 分钟前
SQL 语句左连接右连接内连接如何使用,区别是什么?
java·后端
怕什么真理无穷40 分钟前
C++_面试题_21_字符串操作
java·开发语言·c++
Lxinccode1 小时前
docker(25) : 银河麒麟 V10离线安装docker
java·docker·eureka·银河麒麟安装docker·银河麒麟安装compose
遇见火星1 小时前
LINUX的 jq命令行处理json字段指南
java·linux·json·jq
高山上有一只小老虎1 小时前
等差数列前n项的和
java·算法
rockmelodies1 小时前
东方通安装
java