Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Suszenie generycznego RedisTemplate na wiosnę 4

Miałem ten sam problem. W tym celu można utworzyć ogólną fasolę i użyć GenricJackson2JsonRedisSerializer. Problem polega na tym, że przy użyciu tego json zostanie zapisany z dodatkowymi danymi, aby deserializacja działała później.

Innym sposobem byłoby użycie Jackson2JsonRedisSerializer, ale do działania potrzebuje instancji Class typu generycznego, do którego nie mogłem dojść.

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

Użycie w klasie pamięci podręcznej:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak magento wymyśla nazwy kluczy pamięci podręcznej?

  2. Stackexchange.Redis dlaczego ConnectionMultiplexer.Connect nawiązuje dwa połączenia klientów?

  3. Przecięcie Mongodb z zakresem czasu

  4. Czy Azure obsługuje takie rzeczy jak mongodb i redis?

  5. Sidekiq nie znajduje rekordów dla Rails Active Job