Redis 데이터 구조

2024. 2. 20. 16:26·Redis

 

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 실습

일치하는 요소가 없으면 (nil)라는 형태로 반환함

 

 

 

 

Set

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

 

SMEMBERS

Time complexity: O(N) - N은 저장된 요소의 수

Description: Set에 저장된 모든 요소를 반환

SMEMBERS key

 

SADD

Time complexity: O(1)

Description: Set에 멤버를 추가

SADD key member

 

SMEMBERS, SADD 실습

set은 중복을 허용하지 않으므로, coupon_1을 다시 추가하려고 시도했을 때 0을 반환함

 

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 실습

SISMEMBER에서 멤버가 포함되어 있으면 1, 아니면 0 반환

 

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 실습

ZRANGE를 사용했을 때, 오름차순으로 정렬되어 출력된 것을 볼 수 있다.

 

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

 

 

 

 

 

'Redis' 카테고리의 다른 글

MacOS 로컬 환경에서 Docker Redis Cluster 설정 및 Springboot와 연동하기  (0) 2024.08.09
[Redis] backup1, backup2... 그리고 Failed opening the RDB file crontab (in server root dir /etc) for saving: Read-only file system  (0) 2023.11.22
'Redis' 카테고리의 다른 글
  • MacOS 로컬 환경에서 Docker Redis Cluster 설정 및 Springboot와 연동하기
  • [Redis] backup1, backup2... 그리고 Failed opening the RDB file crontab (in server root dir /etc) for saving: Read-only file system
개발이조아용
개발이조아용
IT 개발에서 배운 성장의 기록을 작성합니다.
  • 개발이조아용
    계속 하다 보면?!
    개발이조아용
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • Tibero DB (Tmax AI Bigdata .. (7)
      • Git (2)
      • CI CD (2)
      • Redis (3)
      • SpringBoot (16)
      • SQL 문제 풀이 (8)
      • Apache Kafka (8)
        • 오류 해결 (3)
        • 개념 정리 (4)
        • 보안 (1)
      • Nginx (3)
      • SW마에스트로 (3)
      • Kubernetes (4)
      • AWS (5)
      • gRPC (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SpringBoot
    Tibero
    redis
    K8S
    Redis 개념
    소프트웨어 마에스트로
    KAFKA
    SASL 인증
    Kafka 개념
    SQL
    grpc
    Kafka 오류
    leetcode
    Kafka SASL
    Git
    redis script
    sql 문제
    DynamoDB 연동
    nginx
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발이조아용
Redis 데이터 구조
상단으로

티스토리툴바