반응형
레디스의 기본명령어
- 레디스가 지원하는 데이터형
- 문자열, 리스트, 셋, 정렬된 셋, 해시 등등
- 저장된 데이터형에 따라서 처리할 수 있는 명령이 달라짐.
- 레디스 명령은 대소문자를 구별하지 않음.
- 관례상 콜론(:)은 키에 의미를 부여하는 구분자로 사용됨.
- 응답값을 가지는 레디스 명령은 상태응답, 에러응답, 숫자응답, 단일 벌크응답, 멀티 벌크응답으로 나눠짐.
- 레디스 명령의 인덱스표현에서 '0'은 처음, '-1' 은 마지막 자리를 의미함.
- 음수가 입력되면, 인덱스를 맨 마지막부터 셈
- 예) '-2' 일 경우 맨 마지막에서 두번째의 인덱스를 나타냄.
- 음수가 입력되면, 인덱스를 맨 마지막부터 셈
- 레디스는 약 150여개의 명령을 지원하며 버전업을 거듭할수록 새로운 명령이 계속 추가되고 있음
- 예제 실행
- 대화형 레디스 클라이언트 redis-cli를 사용함.
문자열 명령
- 문자열을 다루는 데 사용하는 레디스 문자열 명령은 약 20여개
- 주요명령
- set
- 주어진 키에 값을 저장함.
- 하나의 키와 하나의 값을 저장할 수 있음.
- 명령)set [key] [value]
- 응답)<상태응답>, 항상 OK
- get
- 주어진 키에 값을 읽어옴.
- 명령)get [key]
- 응답)<키에 대한 값>
- append
- 주어진 키가 존재하면, 함께 입력된 값을 이미 저장되어 있는 제일 마지막 값의 뒤에 추가함.
- 단, 문자열값만 유효함.
- key 가 존재하지 않으면, 새로운 set 명령과 동일하게 동작.
- 명령)append [key] [value]
- 응답)<숫자응답>, 추가된 문자열을 포함한 전체 문자열의 길이
- 주어진 키가 존재하면, 함께 입력된 값을 이미 저장되어 있는 제일 마지막 값의 뒤에 추가함.
- incr
- 저장된 데이터의 값을 1 증가시키고, 그 결과값을 반환함.
- 단, 저장된 값이 숫자일때만 수행됨.
- 명령)incr [key]
- 응답)<숫자응답>, 명령이 실행된 후의 키의 값
- 저장된 데이터의 값을 1 증가시키고, 그 결과값을 반환함.
- decr
- 저장된 데이터의 값을 1 감소시킴
- 단, 저장된 값이 숫자일때만 수행됨.
- 명령)decr [key]
- 응답)<숫자응답>, 명령이 실행된 후의 키의 값
- 저장된 데이터의 값을 1 감소시킴
- set
- 예제
리스트 명령
- 레디스에서 지원하는 리스트 데이터를 다루기 위한 명령의 집합임.
- 논리적으로 링크드리스트의 구현.
- 리스트 데이터의 특징은 연결리스트의 특성인 입력 순서의 유지.
- 데이터가 입력된 순서대로 저장되고, 조회되기 때문에 먼저 입력한 자료를 먼저 처리하는 큐로 사용되기도함.
- 주요명령
- lpush
- 지정된 리스트의 맨 앞쪽에 입력된 요소를 저장함.
- 명령)lpush [key] [value1] [value2] ....
- 응답)<숫자응답>, 명령이 수행되고 난 후의 요소 수
- lrange
- 지정된 리스트의 시작인덱스부터 종료인덱스 범위의 요소를 조회함.
- 명령)lrange [key] [start index] [end index]
- 응답)<멀티벌크응답>, 해당 범위의 요소들, 존재하지 않을 때는 nil
- lpush
- 예제
셋 명령
- 레디스에서 지원하는 셋 데이터를 다루는 명령의 집합.
- 레디스의 셋 데이터는 순서가 보장되지 않고 중복을 허용하지 않는 컬렉션임.
- 즉,입력 순서와 상관없이 중복된 데이터가 제거되어 조회됨.
- 주요명령
- sadd
- 지정된 셋에 입력된 값을 저장함.
- 명령)sadd [key] [value]
- 응답)<숫자응답>, 성공이면 입력된 값의 개수, 이미 존재하는 값이면 0
- smembers
- 지정된 셋에 저장된 모든 값의 목록을 조회함.
- 명령)smembers [key]
- 응답)<멀티벌크응답>, 조회된 값 목록, 값이 존재하지 않을 때 nil
- sadd
- 예시
정렬된 셋 명령
- 레디스에서 지원하는 정렬된 셋 데이터를 다루는 명령의 집합.
- 정렬된 셋 데이터형은 가장 많이 사용되고, 다양한 분야에 활용됨.
- 정렬된 셋은 레디스에서 지원하는 "셋 데이터"와 동일한 특징을 가지며, 부가적으로 저장된 요소에 가중치를 부여하여 작은 값부터 큰 값으로(오름차순) 정렬을 제공함.
- 주요명령
- zadd
- 정렬된 셋에 가중치와 값으로 이루어진 데이터를 저장함.
- 단, 이미 존재하는 값일때는 기존의 가중치를 입력된 가중치로 덮어씀.
- 명령)zadd [key] [score] [value]
- 응답)<숫자응답>, 성공이면 입력된 값의 개수, 이미 존재하는 값이면 0
- 정렬된 셋에 가중치와 값으로 이루어진 데이터를 저장함.
- zrange
- 정렬된 셋의 시작인덱스부터 종료인덱스 범위에 해당하는 값들을 가중치 오름차순으로 조회함.
- 명령)zrange [key] [start index] [end index] withscores
- withscores
- 해당 기능은 가중치를 함께 조회함.
- optional
- withscores
- 응답)<멀티벌크응답>, 조회된 값 목록, 값이 존재하지 않을때 nil
- zadd
- 예시
해시 명령
- 레디스에서 지원하는 해시 데이터를 다루는 명령의 집합
- 키와 값이 쌍으로 이루어진 데이터를 저장하는 자료구조, 많은 개발자에게 친숙한 데이터형.
- 예를 들면, 자바등에서 지원 MAP과 동일한 구조임.
- 주요명령
- hset
- 지정된 해시에 요청한 필드와 값을 저장함.
- 단, 요청한 필드가 존재할 때는 저장된 값이 업데이트됨.
- 명령)hset [key] [field_name] [value]
- 응답)<숫자응답>, 존재하지 않는 필드일때 1, 존재하는 필드일때 0
- 지정된 해시에 요청한 필드와 값을 저장함.
- hget
- 지정된 해시에 저장된 필드의 값을 조회함.
- 명령)hget [key] [field_name]
- 응답)<벌크응답>, 지정된 필드가 존재할 때 저장된값, 아니면 nil
- hgetall
- 지정된 키에 저장된 모든 필드의 값을 조회한다.
- 명령)hgetall [key]
- 응답)<멀티 벌크응답>, 지정된 키에 저장된 모든 필드와 값의 목록
- hset
- 예시
결론
- 레디스가 지원하는 다섯가지 데이터형에 대해서 간단히 알아봄.
- 문자열, 리스트, 셋, 정렬된 셋, 해시
- 사용해본결과 레디스는 명령을 사용하기가 쉽고 단순함.
- 단순함은 레디스가 추구하는 것이고, 그런 부분으로 인해 아직도 많은 개발자에게 좋은 평가를 받고 있음.
- 현재, 위에서 소개한 명령이외에도 많은 명령어가 사용되고 버전업과 동시에 또 많은 명령이 생겨나고 있음.
300x250
'좋아하는 것_매직IT > 9.redis' 카테고리의 다른 글
5.Redis, 꼭 알아야할 CAP 이론에 대해서 정리해 볼께요. (0) | 2021.01.11 |
---|---|
4.Redis, NoSQL에 대해서 전반적으로 알아볼께요. (0) | 2021.01.11 |
3.Redis, 레디스의 성능 측정에 대해서 간단하게 알아볼께요? (0) | 2021.01.11 |
1.Redis, 레디스를 리눅스에 설치 및 실행을 한번 해볼께요. (0) | 2021.01.06 |
0.Redis, 레디스, 그리고 빅데이터에 대해서 간단히 알아보자. (0) | 2021.01.06 |