2017-12-07 8 views
-1

저는 springboot 1.5.9와 redis-template을 사용합니다. 그러나 데이터를 redis로 저장할 때 값이 잘못되었음을 발견했습니다. 0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x0 0 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 [{\ "id \": 1, \ "이름 \": \ "RandomName1512028732904 \", \ "급여 \": 12.34 }, {\ "id \": 2, \ "name \": \ "RandomName1512028735366 \", \ "salary \": 12.34}, {\ "id \": \ "RandomName1512028738439 \ "급여 \": 12.34}, {\ "id \": 4, \ "이름 \": \ "RandomName1512028750450 \", \ "급여 \": 12.34} \ "이름 \": \ "RandomName1512031361305 \", \ "급여 \": 12.34}, \ "이름 \": \ "이름 \": \ "RandomName1512031361972 \", \ "급여 \": 12.34 ("indexCache", data ("indexCache", data) ")", "이름", " , 10000); 어떻게 순수 json을 redis로 저장할 수 있습니까 ???springboot redistemplate 값은 x00 데이터입니다.

@Configuration 공용 클래스 RedisConfig {

@Bean 
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory redisConnectionFactory) { 
    RedisTemplate<String, String> redisTemplate = new RedisTemplate<>(); 
    redisTemplate.setConnectionFactory(redisConnectionFactory); 

    Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); 

    ObjectMapper objectMapper = new ObjectMapper(); 
    objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); 
    //objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); 
    objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 

    jackson2JsonRedisSerializer.setObjectMapper(objectMapper); 

    redisTemplate.setKeySerializer(new StringRedisSerializer()); 
    redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); 
    redisTemplate.setHashKeySerializer(new StringRedisSerializer()); 
    redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); 
    redisTemplate.afterPropertiesSet(); 
    return redisTemplate; 
} 

}는

답변

0
redisTemplate.opsForValue().set("indexCache", data, 10000); 

실제로,이 방법은 네 개의 파라미터를 갖는다.

redisTemplate.opsForValue().set("indexCache", data, 10000,TimeUnits.Seconds);