Post

Redis 데이터 구조


String

String 타입의 데이터 구조. 텍스트, 직렬화된 객체 등을 저장하는 용도로 자주 사용


SET

  • Time Complexity: O(1)
  • Description: 지정된 key에 문자열을 저장
1
SET key value

ex)

1
GET user:1 '{"name": "John", "age": 13}'


GET

  • Time Complexity: O(1)
  • Description: 지정된 key의 문자열을 조회
1
GET key

ex)

1
GET user:1


List

데이터 삽입 순서에 따라 정렬된 문자열 컬렉션의 형태


LRANGE

  • Time Complexity: O(S+N) - S는 (HEAD or TAIL)에서의 distance, N은 지정된 요소 수
  • Description: List에서 지정된 범위의 요소를 반환
1
LRANGE key start stop

ex)

1
LRANGE user_list 0 2


LPUSH

  • Time Complexity: O(1)
  • Description: List의 HEAD에 지정된 요소를 추가
1
LPUSH key element

ex)

1
LPUSH user_list user_1


RPUSH

  • Time Complexity: O(1)
  • Description: List의 TAIL에 지정된 요소를 추가
1
RPUSH key element

ex)

1
RPUSH user_list user_1


LPOP

  • Time Complexity: O(N) - N은 반환된 요소 수
  • Description: List의 첫번쨰 요소를 제거하고 반환
1
LPOP key [count]

ex)

1
LPOP user_list


RPOP

  • Time Complexity: O(N) - N은 반환된 요소 수
  • Description: List의 마지막 요소를 제거하고 반환
1
RPOP key [count]

ex)

1
RPOP user_list


LLEN

  • Time Complexity: O(1)
  • Description: List의 저장된 요소 수를 반환
1
LLEN key

ex)

1
LLEN user_list


LPOS

  • Time Complexity: O(N) - N은 목록의 요소 수
  • Description: List에서 일치하는 요소를 찾고 인덱스를 반환
1
LPOS key element

ex)

1
LPOS user_list user_1


Set

순서가 지정되지 않은 문자열 컬렉션의 형태. 중복 요소가 허용되지 않음


SMEMBERS

  • Time Complexity: O(N) - N은 저장된 요소 수
  • Description: Set에 저장된 모든 요소를 반환
1
SMEMBERS key

ex)

1
SMEMBERS user_list


SADD

  • Time Complexity: O(1)
  • Description: Set에 멤버를 추가
1
SADD key member

ex)

1
SADD user_list user_1


SISMEMBER

  • Time Complexity: O(1)
  • Description: Set에 멤버가 포함되어 있는지 확인
1
SISMEMBER key member

ex)

1
SISMEMBER user_list user_1


SCARD

  • Time Complexity: O(1)
  • Description: Set에 저장된 요소 수를 반환
1
SCARD key

ex)

1
SCARD user_list


SREM

  • Time Complexity: O(N) - N은 삭제할 요소의 수
  • Description: Set에 저장된 요소를 제거
1
SREM key member

ex)

1
SREM user_list user_1


Sored Set

지정한 스코어에 따라서 순서가 지정되는 문자열 컬렉션의 형태. 중복 요소가 허용되지 않음.


ZRANGE

  • Time Complexity: O(Log(N) + M) - N은 정렬된 집합의 요소 수, M은 반환된 요소 수
  • Description: Sorted Set에 저장된 범위 내(순서, 스코어) 요소를 반환
1
ZRANGE key start stop

ex)

1
ZRANGE user_list 0 -1


ZADD

  • Time Complexity: O(Log(N)) - N은 정렬된 집합의 요소 수
  • Description: member가 score에 의해 정렬 및 저장. 동일한 score인 경우 사전순 정렬
1
ZADD key score member

ex)

1
ZADD user_list 100 user_1


ZCARD

  • Time Complexity: O(1)
  • Description: 해당하는 key의 요소 수를 반환
1
ZCARD key

ex)

1
ZCARD user_list


ZPOPMIN

  • Time Complexity: O(log(N) * M) - N은 정렬된 집합의 요소 수, M은 POP된 요소 수
  • Description: 점수가 낮은 순으로 멤버를 제거하고 반환
1
ZPOPMIN key [count]

ex)

1
ZPOPMIN user_list


ZPOPMAX

  • Time Complexity: O(log(N) * M) - N은 정렬된 집합의 요소 수, M은 POP된 요소 수
  • Description: 점수가 높은 순으로 멤버를 제거하고 반환
1
ZPOPMAX key

ex)

1
ZPOPMAX user_list


This post is licensed under CC BY 4.0 by the author.