입력 표현을 먼저 맞추기
기본 모드는 문자 그대로의 \r과 \n을 CRLF 바이트로 바꿉니다. 텍스트가 아닌 bulk는 Hex를 사용하세요. 단독 LF는 자동으로 고치지 않습니다.
- 길이는 보이는 글자 수가 아니라 UTF-8 바이트 수입니다.
프로토콜 및 바이너리 직렬화
이스케이프된 RESP 텍스트 또는 Hex 바이트를 붙여 넣고 서버 연결 없이 프레임을 살펴보세요.
RESP 데이터를 입력하거나 예제를 고르세요.
브라우저에서만 분석하며 Redis에 연결하거나 업로드하지 않습니다.
RESP 데이터를 입력하거나 예제를 고르세요.
Redis 로그에 $5나 *3이 보일 때 클라이언트가 출력한 값만으로는 길이 오류를 찾기 어렵습니다. Redis RESP 파서는 각 접두어와 바이트 범위를 트리로 보여 주어 실제 통신 데이터의 경계를 확인하게 합니다.
정적인 RESP 데이터를 읽으면서 원래의 타입과 바이트 경계를 남깁니다.
Redis RESP 파서는 RESP3 청크마다 선언된 바이트 길이와 종료 표시를 확인한 뒤 값을 합칩니다. 트리에는 청크 수가 남고, 끝나지 않은 데이터는 완성된 값으로 표시하지 않습니다.
바이너리 bulk는 Hex로, map은 순서 있는 키와 값 쌍으로, 속성은 뒤따르는 값과 함께 내보냅니다. 일반 JSON 객체로 바꾸면 사라질 차이를 명시합니다.
기본 모드는 문자 그대로의 \r과 \n을 CRLF 바이트로 바꿉니다. 텍스트가 아닌 bulk는 Hex를 사용하세요. 단독 LF는 자동으로 고치지 않습니다.
자동 모드는 RESP2와 RESP3의 공통 타입을 읽고 RESP3 전용 접두어를 표시합니다. RESP2를 고르면 전용 타입을 거부합니다.
타입 트리에서 바이트 범위와 선언 길이를 비교하세요. 맨 위 문자열 배열에는 명령 형태를 표시하지만 실제 명령의 유효성은 판단하지 않습니다.
레디스 RESP 프로토콜의 null bulk와 빈 bulk, 배열과 map, push, 서버 오류 값을 서로 구별합니다. 오류 응답을 구문 분석 실패로 처리하지 않습니다.
bulk 길이와 실제 UTF-8 바이트 및 마지막 CRLF가 다르면 첫 오류의 바이트 오프셋과 입력 줄을 표시합니다.
파이프라인의 여러 프레임을 순서대로 보여 줍니다. 문자열 배열의 첫 요소가 명령처럼 보여도 서버가 받아들일지는 추측하지 않습니다.
RESP 파싱 결과에서 바이너리 Hex, 큰 정수의 십진수 문자열, 순서 있는 map 항목과 RESP3 속성을 유지합니다.
이스케이프된 RESP 텍스트나 Hex 바이트를 넣으면 각 접두어와 길이를 타입 트리에서 볼 수 있습니다. 이 도구는 이미 확보한 통신 데이터만 읽습니다.
$ 다음 숫자는 문자 수가 아니라 바이트 수입니다. 한글은 UTF-8에서 여러 바이트이므로 눈에 보이는 글자 수와 다를 수 있습니다.
map, 불리언, push 같은 RESP3 전용 타입을 찾아 표시합니다. 공통 타입만 있다면 실제 연결이 어느 버전을 사용했는지는 알 수 없습니다.
맨 위에 문자열 배열이 있으면 명령 이름과 인자 수를 보여 줍니다. 명령을 실행하거나 서버가 허용할지 검증하지는 않습니다.
완전한 프레임을 이어 붙인 입력은 순서대로 분석합니다. 중간에 끊긴 프레임이 있으면 오류 위치를 보고하고 완전한 결과처럼 내보내지 않습니다.
다른 질문이 있나요?