반응형
Redis 프로토콜
- Redis 서버가 수신하는 모든 명령은 Redis 프로토콜을 통해서 송수신됨.
- 채널은 TCP/IP이고, Redis 서버 환경설정파일에 기술된 포트를 사용함.
- 텍스트 기반 프로토콜
프로토콜의 구조
- Redis 프로토콜은 binary-safe 함
- 즉, 전송되는 데이터에 따라서 프로토콜이 오작동하지 않게설계됨.
송신프로토콜
프로토콜은 2부분으로 나눠짐.
- 전송할 인자의 개수를 표시하는 부분
- 입력된 인자의 정보는 애스터리스크(*) 문자로 시작
- 인자의 개수에 해당하는 숫자와 줄바꿈 문자로 이루어짐
- 입력되는 정보를 표시하는 부분.
- 인자의 정보는 인자의 길이와 인자 데이터로 이루어짐.
- 인자 정보의 시작은 달러기호($) 문자로 시작, 두줄로 구성됨.
- 인자의 정보는 인자의 길이와 인자 데이터로 이루어짐.
- ex) SET thubkey v1
- 위의 예시는 Redis 프로토콜로 변경한 결과임.
수신프로토콜
- 수신 프로토콜 구조는 단순함.
- 첫번째 1byte의 값이 응답 데이터 종류를 의미함.
- 응답 데이터 종류
-
응답구분자 설명 + 상태응답. 명령의 처리 결과에 대한 상태 메시지를 반환함. - 에러응답, 명령이 실패했을 경우, 실패의 원인에 대한 에러 메시지를 반환함. : 숫자응답, 명령에 처리 결과를 숫자로 반환함. $ 단일 벌크응답, 데이트의 크기를 포함한 데이터를 반환함. * 멀티 벌크응답, 응답되는 데이터 개수를 반환함. - 5가지 종류의 응답이 이루어짐.
- 상위 3개는 응답이 모두 한 줄로 이루어짐.
- 하위 2개는 응답이 여러 줄로 이루어짐.
- 전송 프로토콜에서 사용된 것과 동일하다고 보면됨.
-
-
프로토콜 예시
- 값 저장 확인
-
- 위의 수신 프로토콜 구조에서 본것과 같이 상태 응답을 나타내는 구분자는 플러스기호(+), 아스키값 43(0x2b) 임.
-
- 다른 프로토콜 확인도 위의 예제와 같이 진행하면 테스트 가능함.
- 시간되실때 꼭 해보시길 ^^;
결론
- Redis 프로토콜은 텍스트 기반 프로토콜
- 채널은 TCP/IP이고, Redis 서버 환경설정파일에 기술된 포트를 사용함.
- Redis 프로토콜은 텍스트 기반이기때문에 telnet 테스트를 통해서 알 수 있음.
- 오늘의 명언 한마디
- 당신이 두려움을 극복하면, 세상은 열릴것이요, 당신이 두려움에 굴복하면 매년 세상은 더 작아질 것이다. -로버트기요사키, 『부자아빠, 가난한아빠3』 중에서
- 오늘의 영어 한마디
- 질문) Are you hurt?
- 다친 데는 없지?
- 응답) No. I'm fine.
- 네 괜찮아요.
- 해설
- hurt는 "다치게 하다" 라는 의미의 동사
- "I'm hurt." 는 문자그대로 "다쳤다", 라는 의미와 함께 기분이 상했다는 의미도 있음.
- "I'm fine." 은 괜찮다.고 상대방을 안심시키는 표현.
- 질문) Are you hurt?
300x250
'좋아하는 것_매직IT > 9.redis' 카테고리의 다른 글
18.Redis, 레디스 객체(Redis Object)에 대해서 알아볼까요? (0) | 2021.01.14 |
---|---|
17.Redis, 제디스(Jedis) 사용한 간단한 프로그램 예시를 코딩해 볼께요.^^ (0) | 2021.01.14 |
14.Redis, Key 관리 명령에 대해서 알아볼께요.^^ (0) | 2021.01.14 |
13.Redis, 리스트 데이터에 대해서 알아보자. (0) | 2021.01.14 |
12.Redis, 정렬된 셋 데이터에 대해서 알아보자. (0) | 2021.01.14 |