RedisTemplate - Spring 에서 \xaa 문자 안들어가게 하는 방법

2023. 4. 5. 23:14Java/Spring Framework

DefaultSerializer 를 치환해서 UTF-8 대신 US-ASCII (US 알파벳과 숫자만으로 깔끔하게) 인코딩으로 변환 :

변경 전 - 현상 :

 

"redisTemplate.setDefaultSerializer(new StringRedisSerializer());" 를 썼을 땐 UTF-8 인코딩 변환에 의해 원치 않는 결과가 들어감.

최종 코드 :

@Bean(name = "template")

public RedisTemplate<String, String> redisTemplateConfig(JedisConnectionFactory jedisConnectionFactory) {
RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
redisTemplate.setDefaultSerializer(new UsAsciiStringSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());//Value 에는 멀티바이트 문자도 포함가능케!
redisTemplate.setConnectionFactory(jedisConnectionFactory);
return redisTemplate;
}


127.0.0.1:6379> hgetall info:R20190104_NEAN
 1) "resultType"
 2) "5801"
 3) "download"
 4) "userSnp:R20190104_NEAN"
 5) "FIRST_NM"
 6) "\xed\x85\x8c\xec\x8a\xa4"
 7) "downloadFileName"
 8) "27d7354a241a46888575e0fbbc0e1c30.txt"
 9) "taken"
10) "0"
11) "LAST_NM"
12) "\xed\x8a\xb8\xec\x9d\xb8\xea\xb0\x84"
13) "runCmd"

'Java > Spring Framework' 카테고리의 다른 글

Thymeleaf 문법  (0) 2024.03.16
java.net.URLDecoder  (0) 2023.10.30
스프링 부트 2.4.1  (0) 2023.04.05