sql >> Databáze >  >> NoSQL >> Redis

Vysušení obecné RedisTemplate na jaře 4

Měl jsem stejný problém. Pro to můžete vytvořit obecný bean a použít GenricJackson2JsonRedisSerializer. Problém je v tom, že pomocí tohoto bude json uložen s některými dalšími daty, aby deseralizace fungovala později.

Dalším způsobem by bylo použití Jackson2JsonRedisSerializer, ale potřebuje instanci třídy obecného typu, aby fungovala, což jsem nemohl přijít na to, jak ji získat.

@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;
}

Použití na třídě mezipaměti:

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



  1. uložení obrázku do mongodb

  2. Připojení k MongoDB 3.0 pomocí Java Spring

  3. Vysoká dostupnost s Redis Sentinel:Připojení k Redis Master/Slave sadám

  4. Laravel :Redis Nebylo možné navázat spojení :[tcp://127.0.0.1:6379]