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

Spring RedisTemplate:Serializujte několik tříd modelu do JSON. Potřebujete použít více šablon RedisTemplates?

GenericJackson2JsonRedisSerializer by to měl udělat

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

Tím přidáte @Class vlastnost na JSON, aby porozuměl typu, což pomáhá Jacksonovi deserializovat, takže není potřeba explicitně mapovat model na konfigurační třídu.

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

Ve službě můžete model uložit do mezipaměti pomocí

    @Cacheable(value = "whitePaper", key = "#title")
    public WhitePaper findWhitePaperByTitle(String title) 
    {
        WhitePaper whitePaper = repository.findByTitle(title);
        return whitePaper;
    }

Podívejte se na tento článek:http://blog.pranavek.com/2016/12/25/integrating-redis-with-spring-application



  1. Jak přidat data do pole ve schématu Mongoose

  2. jak uložit složitý objekt v redis (pomocí redis-py)

  3. Mongodb:proč show dbs nezobrazuje mé databáze?

  4. Laravel ID všech relací s ovladačem Redis