sql >> Database >  >> NoSQL >> Redis

Spring RedisTemplate:serialiseer meerdere modelklassen in JSON. Wilt u meerdere RedisTemplates gebruiken?

GenericJackson2JsonRedisSerializer zou het werk moeten doen

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

Dit voegt @Class . toe eigenschap toe aan de JSON om het type te begrijpen, wat Jackson helpt bij het deserialiseren, dus het is niet nodig om het model expliciet toe te wijzen aan de configuratieklasse.

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

In de service kunt u het model cachen met

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

Bekijk dit artikel:http://blog.pranavek.com/2016/12/25/integrating-redis-with-spring-application



  1. MongoDB gaat Sharding gebruiken met $lookup Aggregation Operator

  2. Hoe maak je een lijst van alle MongoDB-databases in Node.js?

  3. Redis installeren en configureren op Ubuntu

  4. MongoDB $cos