You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将带默认过期时间的RedisCacheManager迁移至Spring Data Redis 2.x

Spring Data Redis 2.x 缓存默认过期时间配置迁移指南

嘿,我刚完成过类似的Spring Data Redis升级工作,正好能帮到你!

等效配置:用 RedisCacheConfiguration.entryTtl() + 构建器模式

没错,RedisCacheConfiguration.entryTtl(ttl) 就是2.x版本里替代旧版 setDefaultExpiration 的核心配置项,但要注意2.x重构了缓存管理器的创建方式,不能再直接调用setter方法,得用构建器模式来组装配置。

举个完整的Java配置类示例:

@Configuration
public class RedisCacheConfig {

    @Bean
    public RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
        // 1. 创建默认缓存配置,设置全局默认过期时间
        RedisCacheConfiguration defaultCacheConfig = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl(Duration.ofMinutes(15)); // 这里替换成你的默认过期时间

        // 2. 如果需要自定义序列化规则(比如JSON序列化),可以在这里追加配置
        defaultCacheConfig = defaultCacheConfig
                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));

        // 3. 用构建器创建RedisCacheManager,绑定默认配置
        return RedisCacheManager.builder(redisConnectionFactory)
                .cacheDefaults(defaultCacheConfig) // 对应旧版的setDefaultExpiration
                // 如果你需要给特定缓存单独设置过期时间,可以加下面这行
                // .withCacheConfiguration("specialCache", RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofHours(1)))
                .build();
    }
}

关于迁移指南

其实Spring Data官方是有1.x到2.x的迁移文档的,它包含在Spring Data Redis的官方参考手册里,里面详细说明了缓存模块的变化:

  • 旧版 RedisCacheManager 的setter配置方式被废弃,全部改用构建器API
  • 缓存的具体规则(过期时间、序列化、前缀等)统一收敛到 RedisCacheConfiguration 中管理
  • 新增了对缓存名称前缀、键前缀的更灵活配置

核心迁移要点总结

  • 抛弃直接实例化 RedisCacheManager 并调用 setDefaultExpiration 的写法
  • 用 RedisCacheConfiguration.defaultCacheConfig() 创建基础配置,通过 entryTtl 设置全局过期时间
  • 借助 RedisCacheManager.builder() 把配置和连接工厂绑定,完成管理器的创建
  • 针对单个缓存的个性化配置,用 withCacheConfiguration 方法逐个添加

内容的提问来源于stack exchange,提问作者M. Justin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:45:01