冬眠的笔记
首页文章分类书单项目关于
冬眠
X

© 2026 冬眠的笔记 · 用文字记录思考,用思考改变生活

首页>文章>Java
JavaSpringBootRedis配置

SpringBoot Redis 配置

SpringBoot 集成 Redis 的多种方式:Lettuce/Jedis、序列化策略以及连接池配置

冬眠
冬眠
专注于技术、阅读与思考
2025-11-19
发布日期
1 min read
阅读时长
浏览量
SpringBoot Redis 配置

Maven 依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

配置文件

spring:
  redis:
    host: localhost
    port: 6379
    password:
    timeout: 2000
    database: 0

    # 连接池配置
    jedis:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 8
        min-idle: 0

    # 或者使用 Lettuce 连接池
    lettuce:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 8
        min-idle: 0

Redis 配置类

@Configuration
@EnableCaching
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);

        // 设置序列化器
        Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer =
            new Jackson2JsonRedisSerializer<>(Object.class);

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,
            ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // 设置key和value的序列化器
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(jackson2JsonRedisSerializer);
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(jackson2JsonRedisSerializer);

        template.afterPropertiesSet();
        return template;
    }

    @Bean
    public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
        RedisCacheWriter redisCacheWriter = RedisCacheWriter
            .nonLockingRedisCacheWriter(redisConnectionFactory);

        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration
            .defaultCacheConfig()
            .serializeKeysWith(RedisSerializationContext.SerializationPair
                .fromSerializer(new StringRedisSerializer()))
            .serializeValuesWith(RedisSerializationContext.SerializationPair
                .fromSerializer(new Jackson2JsonRedisSerializer<>(Object.class)))
            .entryTtl(Duration.ofHours(1));

        return new RedisCacheManager(redisCacheWriter, redisCacheConfiguration);
    }
}

文章标签

JavaSpringBootRedis配置
PlatformTransactionManager 事务管理器
上一篇

PlatformTransactionManager 事务管理器

2025-11-19

SpringBoot 日志配置
下一篇

SpringBoot 日志配置

2025-11-19

冬眠

冬眠

博主

专注于技术、阅读与思考。在这里记录学习、思考与生活。

116
文章
2
分类
关注我
系列:SpringBoot 配置

第 3 篇,共 3 篇

上一篇

SpringBoot 日志配置

已是最后一篇

文章目录

目录

  • Maven 依赖
  • 配置文件
  • Redis 配置类

相关文章

查看更多
SpringBoot 数据库连接配置

SpringBoot 数据库连接配置

2025-11-19 · 7 min read

SpringBoot 日志配置

SpringBoot 日志配置

2025-11-19 · 16 min read

SpringBoot Starter 自动装配

SpringBoot Starter 自动装配

2024-04-15 · 8 min read