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

Data Spring znovu přepíší výchozí serializátor

Pravděpodobně jste to mezitím vyřešili, ale pro další hledače odpovědí.

Podle jarních dat redis reference:

Ve výchozím nastavení jsou RedisCache a RedisTemplate nakonfigurovány pro použití nativní serializace Java.

Ze stacktrace vidím, že ve skutečnosti používáte Redis pro ukládání do mezipaměti, takže musíte nakonfigurovat RedisCache a ne RedisTemplate . RedisCache nevyzvedává váš @Bean protože nepoužívá RedisTemplate vnitřně.

Příklad, jak to můžete udělat v Javě:

    @EnableCaching
    @Configuration
    public class CacheConfig {

        @Bean
        @Primary
        public RedisCacheConfiguration defaultCacheConfig(ObjectMapper objectMapper) {
            return RedisCacheConfiguration.defaultCacheConfig()
                .serializeKeysWith(SerializationPair.fromSerializer(new StringRedisSerializer()))
                .serializeValuesWith(SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer(objectMapper)));
        }

    }



  1. Připojení aplikace Heroku ke cloudové službě Atlas MongoDB

  2. Co je to TransientTransactionError v Mongoose (nebo MongoDB)?

  3. Proč potřebujeme, jaké výhody používat mangustu

  4. Mongoexport pomocí omezení $gt a $lt na časové období