[SPRING] Spring 데이터 RedisTemplate : 값과 해시 값 직렬화
SPRINGSpring 데이터 RedisTemplate : 값과 해시 값 직렬화
이 자습서를 따라 해 보았습니다. http://javakart.blogspot.in/2012/12/spring-data-redis-hello-world-example.html
내 질문은 이것과 관련있다. 봄 데이터가있는 이상한 redis 키 Jedis
나는 StringRedisSerializer를 사용하여 키와 해시 키를 풀 수 있었다.
<bean
id="stringRedisSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:keySerializer-ref="stringRedisSerializer"
p:hashKeySerializer-ref="stringRedisSerializer"
/>
그러나 나는 가치와 hashvalue에 대한 serializer를 사용하여 문제가 발견.
나는 이것을 추가하려고했다.
p:valueSerializer-ref="stringRedisSerializer"
p:hashValueSerializer-ref="stringRedisSerializer"
그러나 오류 메시지가 표시됩니다. "사용자는 java.lang.String에 캐스트 할 수 없습니다"
누구든지 value / hashvalue에 대한 serializer 사용법을 공유 할 수 있습니까?
해결법
-
==============================
1.Redis는 키와 값을 문자열로 저장합니다. 파싱을 처리하는 것은 지속성 계층에 달려 있습니다. 이 예에서 User는 String이 아닌 POJO입니다. StringRedisSerializer 대신 JacksonJsonRedisSerializer를 사용하는 것이 좋습니다. 이렇게하면 json을 값으로 저장하게됩니다.
Redis는 키와 값을 문자열로 저장합니다. 파싱을 처리하는 것은 지속성 계층에 달려 있습니다. 이 예에서 User는 String이 아닌 POJO입니다. StringRedisSerializer 대신 JacksonJsonRedisSerializer를 사용하는 것이 좋습니다. 이렇게하면 json을 값으로 저장하게됩니다.
<bean id="userJsonRedisSerializer" class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer"> <constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/> </bean>
from https://stackoverflow.com/questions/24239145/spring-data-redistemplate-serializing-the-value-and-hashvalue by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 터미널에서 XML 스키마 네임 스페이스에 대한 Spring NamespaceHandler를 찾을 수 없습니다. (0) | 2019.04.23 |
---|---|
[SPRING] 드롭 박스 - 스프링 MVC 모델 / 컨텍스트에서 freemarker를 사용하여 폼으로 (0) | 2019.04.23 |
[SPRING] Autowired spring 서비스로 맞춤형 검사기 테스트 (0) | 2019.04.22 |
[SPRING] Spring / JTA / JPA 유닛 테스트 : 롤백이 작동하지 않습니다. (0) | 2019.04.22 |
[SPRING] Spring webflux : http를 https로 리디렉션합니다. (0) | 2019.04.22 |