sql >> データベース >  >> NoSQL >> Redis

Springデータredisはデフォルトのシリアライザーをオーバーライドします

    あなたはおそらくその間にそれを解決しましたが、さらなる答えを求める人のために。

    春のデータredisリファレンスによると:

    デフォルトでは、RedisCacheとRedisTemplateはJavaネイティブシリアル化を使用するように構成されています。

    スタックトレースから、実際にキャッシュにRedisを使用していることがわかります。そのため、RedisCacheを構成する必要があります。 RedisTemplateではありません 。 RedisCache @Beanを取得していません RedisTemplateを使用していないため 初めの。

    Javaでそれを行う方法の例:

        @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. Javaでシリアル化されたRedisキーを修正する方法

    2. MongoDB $ project:以前のパイプラインフィールドを保持します

    3. redisがすでにスタックの一部である場合、なぜMemcachedがRedisと一緒に使用されているのですか?

    4. redis vs hazelcast