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

Spring RedisTemplate:複数のモデルクラスをJSONにシリアル化します。複数のRedisTemplatesを使用する必要がありますか?

    GenericJackson2JsonRedisSerializerがその仕事をするはずです

        @Bean
        public RedisTemplate<String, Object> redisTemplate() {
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
            redisTemplate.setConnectionFactory(jedisConnectionFactory());
            redisTemplate.setKeySerializer(new StringRedisSerializer());                                           
            redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
            return redisTemplate;
        }
    

    これにより、 @Classが追加されます 型を理解するためのJSONのプロパティ。これは、Jacksonが逆シリアル化するのに役立つため、構成クラスにモデルを明示的にマッピングする必要はありません。

    "{\"@class\":\"com.prnv.model.WhitePaper\",\"title\":\"Hey\",\"author\":{\"@class\":\"com.prnv.model.Author\",\"name\":\"Hello\"},\"description\":\"Description\"}"
    

    このサービスでは、

    を使用してモデルをキャッシュできます。
        @Cacheable(value = "whitePaper", key = "#title")
        public WhitePaper findWhitePaperByTitle(String title) 
        {
            WhitePaper whitePaper = repository.findByTitle(title);
            return whitePaper;
        }
    

    この記事を確認してください:http://blog.pranavek.com/2016/12/25/integrating-redis-with-spring-application



    1. MongoDBでインデックスを再表示する2つの方法

    2. エラー:タイプパラメータ `D`は、一部のローカルタイプのタイプパラメータとして使用する必要があります

    3. Redisから複数のキー値を取得する

    4. C#でMongoDBネストされた$elemMatchクエリを実装する方法