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。

相关推荐
spencer_tseng6 分钟前
JDK 9 List.of(...)
java·windows·list·1024程序员节
不平衡的叉叉树8 分钟前
mybatis-plus的insertBatchSomeColumn方法实现批量插入
java·mybatis
学IT的周星星13 分钟前
Maven 项目和 Maven Web 项目的异同点
java·maven
摇滚侠13 分钟前
Spring Boot3零基础教程,函数式 Web 新特性,笔记51
java·spring boot·笔记
mustfeng14 分钟前
VCS & Verdi 2023安装
java·服务器·前端
Geoffrey15 分钟前
maven中的pom详述
java
练习时长一年18 分钟前
jdk动态代理实现
java·开发语言
爬山算法18 分钟前
Redis(83)Redis的缓存击穿是什么?
java·redis·缓存
Elieal22 分钟前
IDEA使用教程
java·ide·intellij-idea
执笔论英雄32 分钟前
【大模型推理】ScheduleBatch 学习
java·spring boot·学习