sql >> Database >  >> NoSQL >> Redis

Spring data redis overschrijven standaard serializer

Je hebt het waarschijnlijk ondertussen opgelost, maar voor verdere antwoordzoekers.

Volgens lentegegevens redis-referentie:

RedisCache en RedisTemplate zijn standaard geconfigureerd om Java-native serialisatie te gebruiken.

Uit stacktrace kan ik zien dat je Redis daadwerkelijk gebruikt voor caching, dus je moet RedisCache configureren en niet RedisTemplate . RedisCache neemt je @Bean niet op omdat het RedisTemplate niet gebruikt intern.

Voorbeeld hoe u het in Java kunt doen:

    @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. redis inzetten voor heroku kan geen verbinding maken

  2. $lookup meerdere niveaus zonder $unwind?

  3. Hoe de foutopsporing OOM-opdracht niet toegestaan ​​​​bij gebruik van geheugen> 'maxmemory' in Redis?

  4. Hoe kan ik zien waar mongoDB gegevens opslaat? (het staat niet in de standaard /data/db!)