sql >> Database teknologi >  >> NoSQL >> Redis

Tørrer en generisk RedisTemplate op i foråret 4

Jeg havde samme problem. Du kan oprette en generisk bønne til dette og bruge GenricJackson2JsonRedisSerializer. Problemet er, at ved at bruge dette vil json blive gemt med nogle ekstra data, så deserialiseringen kan fungere senere.

En anden måde ville være at bruge Jackson2JsonRedisSerializer, men den har brug for Class-forekomsten af ​​den generiske type for at fungere, hvilket jeg ikke kunne finde ud af, hvordan man får.

@Bean("objectRedisTemplate")
public <T> RedisTemplate<String, T> objectRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
    RedisTemplate<String, T> redisTemplate = new RedisTemplate<>();

    redisTemplate.setConnectionFactory(redisConnectionFactory);

    RedisSerializer<String> serializer = new StringRedisSerializer();
    redisTemplate.setKeySerializer(serializer);
    redisTemplate.setHashKeySerializer(serializer);

    redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());

    return redisTemplate;
}

Brug på cacheklasse:

@Autowired
@Qualifier("objectRedisTemplate")
private RedisTemplate<String, MyTypeA> redisTemplate;



  1. E11000 duplikatnøglefejlindeks i mongodb mongoose

  2. MongoDB $log

  3. Hvorfor tilføjer mongoose altid et s i slutningen af ​​mit samlingsnavn

  4. Redis connect ECONNREFUSED i NodeJS i Kubernetes-klyngen