포스트

[OSSCA] 과제 #3 RESP v2, v3 실습

[OSSCA] 과제 #3 RESP v2, v3 실습

1. ubuntu에서 valkey 서버를 실행한다.

1
2
cd valkey
src/valkey-server

2. 새로운 터미널에서 telnet 접속 명령어를 입력한다. ​

1
telnet 0 6379

​ 3. RESP 문법을 사용하여 실습하기 ​

status

Q. status를 사용해보려고 작성했는데 +가 구분자인걸로 알아서 배열 길이에 포함하지 않을 것으로 생각했다.

그래서 get을 사용하면 문자열의 길이가 6이 될 것이라고 예상했지만 +string으로 길이가 7이라고 뜬다.

A. inline command 방식이라 공백 뒤에 오는 문자는 모두 데이터 취급한다고 한다. 그래서 +가 문자열로 처리되어 7자가 나왔다.

그리고 +와 -는 서버가 클라이언트에게 보내는 메시지용으로 사용한다. 로 이해했다.

integer

set b 1 을 입력한 상태에서 아래 구문을 작성했다.

증감 연산자 incr, decr 을 사용해서 연산하면 계산된 수를 : 구분자를 사용해서 표시한다.

그리고 삭제했을 때 삭제된 키의 개수를 : 구분자를 사용해서 표시한다. ​

zadd

​ 데이터를 추가하거나 수정할 때 사용한다.

데이터 수정

zrange

정렬된 상태의 데이터를 가져올 때 사용한다.

zscore

​ 특정 멤버의 점수를 반환한다.

v3

exists

​ key가 존재하는지 Boolean으로 응답이 온다.

hset

​ 해시의 값을 설정한다.

hgetall

​ 저장된 해시의 모든 필드와 값을 반환한다.

field가 어떤 정렬이 있는게 아니라 기본으로는 들어간 순서대로 저장되는 것 같다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.