[REDIS] 레디 스 직렬화는 별도의 문자열로 시작
REDIS레디 스 직렬화는 별도의 문자열로 시작
낙타 - 레디 스의 시리얼 라이저는 메시지 키에 추가 문자 접두어입니다.
나는 DB, 같은 메시지 키 쇼 뭔가를 선택하면 ..
"\xac\xed\x00\x05t\x00\x11test150827171118"
당신은 문자열을 "\ XAC \ 고정 된 \ x00부터 \ x05t \ x00부터 \ X11"에서 볼 수 있듯이
키 "test150827171118"를 앞에 붙습니다.
나는,이 패턴을 시도
첫째, 내가 직접 레지스트리에서 시리얼을 설정합니다.
Registry.put("serializer", new StringRedisSerializer());
제 2 패턴은 먼저 RedisTemplate에 설정된다. 그런 다음 레지스트리에서 레디 스 템플릿을 넣어.
RedisTemplate<?, ?> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new StringRedisSerializer());
registry.put("redisTemplate", template);
모두 serizlization의 문제를 해결할 수 없습니다. 나는 나는 낙타 레디 스에 대한 추가 구성이 없습니다.
해결법
-
==============================
1.나는 마지막으로 인터넷 검색과 내 개발 시스템에 구현 대여섯 시간 후에 답을 발견했다.
나는 마지막으로 인터넷 검색과 내 개발 시스템에 구현 대여섯 시간 후에 답을 발견했다.
낙타 시리얼 URI의 옵션은 소비자를위한 것입니다. 생산자에 영향을 미치는, 또한 기본 시리얼로 StringRedisSerializer와 사용자 정의 RedisTemplate를 구성해야합니다.
redisTemplate.setDefaultSerializer(new StringRedisSerializer());
그런 다음 두 시리얼 라이저를 넣어 레지스트리에 템플릿 인스턴스를 레디 스 및 낙타 URI에서 참조.
registry.put("customTemplate", template); registry.put("stringSerializer", new StringRedisSerializer());
낙타 URI는 같다 ...
redis://<host>:<port>?redisTemplate=#customTemplate&serializer=#stringSerializer
from https://stackoverflow.com/questions/32245916/redis-serialization-prefixed-with-extra-string by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 클러스터 : 루아 스크립트와 다른 노드에 키 업데이트 (0) | 2020.01.23 |
---|---|
[REDIS] 어떻게 레디 스 만의 키의 일부를 LRU 퇴거 정책을 선택 만드는 방법? (0) | 2020.01.23 |
[REDIS] 도커 - 작성 - 0.0.0.0에서 레디 스 대신 127.0.0.1 (0) | 2020.01.23 |
[REDIS] RDB 파일을 여는 데 실패했습니다 ... 읽기 전용 파일 시스템 (0) | 2020.01.23 |
[REDIS] 당신은 어떻게 Resque.redis.namespace를 사용하는 resque - 웹 구성합니까? (0) | 2020.01.23 |