2023-06-01 19:20:34

集成Redis

  1. 依赖

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <dependency>  
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <!--连接池要配置-->
    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-pool2</artifactId>
    </dependency>
  2. 配置

1
2
3
4
5
6
7
8
9
10
11
spring:  
redis:
  host: 127.0.0.1
  port: 6379
  password: 123456
  database: 0
  lettuce:
    pool: # 连接池
      max-idle: 16
      max-active: 32
      min-idle: 8

修改序列化

默认使用的JDK序列化,乱码,修改序列化重新注入。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Configuration  
public class RedisConfig {
   @Bean
   public RedisTemplate redisTemplate(RedisTemplate<String, String> redisTemplate) {
       Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
       ObjectMapper om = new ObjectMapper();
       om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
       om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance ,
               ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
       jackson2JsonRedisSerializer.setObjectMapper(om);
       RedisSerializer<String> redisSerializer = new StringRedisSerializer();
       // key的序列化类型
       redisTemplate.setKeySerializer(redisSerializer);
       redisTemplate.setHashKeySerializer(redisSerializer);
       // value的序列化类型
       redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
       redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
       return redisTemplate;
  }
}
Prev
2023-06-01 19:20:34
Next