String
String 타입의 데이터 구조, 텍스트, 직렬화된 객체 등을 저장하는 용도로 자주 사용됨.
SET
Time complexity: O(1)
Description: 지정된 key의 저장된 문자열을 저장
SET key value
GET
Time complexity: O(1)
Description: 지정된 key의 저장된 문자열을 조회
GET key
SET, GET 실습
List
데이터 삽입 순서에 따라 정렬된 문자열 컬렉션의 형태
LRANGE
Time complexity: O(S + N) - S는 (HEAD or TAIL)에서의 distance, N은 지정된 요소 수
Description: List에서 지정된 범위의 요소를 반환
LRANGE key start stop
LPUSH
Time complexity: O(1)
Description: List의 Head에 지정된 요소를 추가
-> 000000
LPUSH key element
RPUSH
Time complexity: O(1)
Description: List의 Tail에 지정된 요소를 추가
-> 000000
RPUSH key element
LRANGE, LPUSH, RPUSH 실습
LPOP
Time complexity: O(N) - N은 반환된 요소의 수
Description: List의 첫 번째 요소를 제거하고 반환
LPOP key [count]
RPOP
Time complexity: O(N) - N은 반환된 요소의 수
Description: List의 마지막 요소를 제거하고 반환
RPOP key [count]
LPOP, RPOP 실습
위 형태들을 잘 활용하면 레디스의 리스트를 스택과 큐의 형태로 활용할 수 있다.
LLEN
Time complexity: O(1)
Description: List에 저장된 요소 수를 반환
LLEN key
LPOS
Time complexity: O(N) - N은 목록의 요소 수
Description: List에서 일치하는 요소를 찾고 인덱스를 반환
LPOS key element
LLEN, LPOS 실습
Set
순서가 지정되지 않은 문자열 컬렉션의 형태, 중복 요소가 허용되지 않음
SMEMBERS
Time complexity: O(N) - N은 저장된 요소의 수
Description: Set에 저장된 모든 요소를 반환
SMEMBERS key
SADD
Time complexity: O(1)
Description: Set에 멤버를 추가
SADD key member
SMEMBERS, SADD 실습
SMEMBERS도 시간 복잡도가 O(N)이므로, Set의 크기가 커지면 오래걸리는 커맨드가 될 수 있으니 주의.
SISMEMBER
Time complexity: O(1)
Description: Set에 멤버가 포함되어 있는지 확인
SISMEMBER key member
SCARD
Time complexity: O(1)
Description: Set에 저장된 요소 수를 반환
SCARD key
SISMEMBER, SCARD 실습
SREM
Time complexity: O(N) - N은 삭제할 요소의 수
Description: Set에 저장된 요소를 제거
SREM key member
SREM 실습
Sorted Set
지정한 스코어에 따라서 순서가 지정되는 문자열 컬렉션의 형태. 중복 요소가 허용되지 않음.
ZRANGE
Time complexity: O(log(N) + M) - N은 정렬된 집합의 요소 수, M은 반환된 요소 수Description: Sorted Set에 저장된 범위 내(순위, 스코어) 요소를 반환
ZRANGE key start stop
ZADD
Time complexity: O(log(N)) - N은 정렬된 집합의 요소 수
Description: member가 score에 의해 정렬 및 저장. 동일한 score인 경우 사전 순 정렬
ZRANGE, ZADD 실습
ZCARD
Time complexity: O(1)
Description: 해당하는 key의 요소 수를 반환
ZCARD key
ZPOPMIN
Time complexity: O(log(N) * M) - N은 정렬된 집합의 요소 수, M은 POP 된 요소 수
Description: 점수가 낮은 순으로 멤버를 제거하고 반환
ZPOPMIN key [count]
ZPOPMAX
Time complexity: O(log(N) * M) - N은 정렬된 집합의 요소 수, M은 POP 된 요소 수
Description: 점수가 높은 순으로 멤버를 제거하고 반환
ZPOPMAX key [count]
ZCARD, ZPOPMIN, ZPOPMAX 실습
더 자세한 명령어는 아래 공식 홈페이지 상단의 COMMANDS 참고하기
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker
redis.io