Redis 자료구조별 주요 명령어


1. String (문자열)

가장 기본적인 타입. 텍스트, 숫자, 바이너리 모두 저장 가능 (최대 512MB)

SET key value          # 저장
GET key                # 조회
DEL key                # 삭제
EXISTS key             # 존재 여부

INCR key               # 정수 1 증가
INCRBY key 10          # 정수 n 증가
DECR key               # 정수 1 감소

APPEND key " world"    # 문자열 이어붙이기
STRLEN key             # 문자열 길이

SETEX key 60 value     # TTL(초) 설정과 함께 저장
TTL key                # 남은 만료시간 확인
MSET k1 v1 k2 v2       # 다중 저장
MGET k1 k2             # 다중 조회

활용: 캐싱, 세션, 카운터, 분산락


2. List (연결 리스트)

삽입 순서 유지, 중복 허용. 양방향 접근 가능.

LPUSH key v1 v2        # 왼쪽(앞)에 삽입
RPUSH key v1 v2        # 오른쪽(뒤)에 삽입
LPOP key               # 왼쪽에서 꺼내기
RPOP key               # 오른쪽에서 꺼내기

LRANGE key 0 -1        # 범위 조회 (-1은 끝)
LLEN key               # 길이
LINDEX key 2           # 인덱스로 조회
LSET key 0 newval      # 인덱스 위치 값 수정
LREM key 2 value       # 값이 일치하는 요소 n개 삭제

BLPOP key 10           # 블로킹 pop (타임아웃 10초)
BRPOP key 10           # 블로킹 pop (오른쪽)

활용: 메시지 큐, 최근 본 목록, 작업 대기열


3. Hash (해시맵)

하나의 키 안에 field-value 쌍을 여러 개 저장. Java의 Map<String, String> 유사.

HSET key field value           # 단일 field 저장
HSET key f1 v1 f2 v2           # 다중 field 저장 (Redis 4.0+)
HGET key field                 # 단일 조회
HMGET key f1 f2                # 다중 조회
HGETALL key                    # 전체 field-value 조회

HDEL key field                 # field 삭제
HEXISTS key field              # field 존재 여부
HLEN key                       # field 개수
HKEYS key                      # 모든 field 목록
HVALS key                      # 모든 value 목록

HINCRBY key field 5            # 숫자 field 증가

활용: 사용자 프로필, 상품 정보, 설정값 묶음


4. Set (집합)

순서 없음, 중복 없음. 집합 연산 지원.

SADD key v1 v2 v3      # 요소 추가
SREM key value         # 요소 삭제
SISMEMBER key value    # 포함 여부
SMEMBERS key           # 전체 조회
SCARD key              # 요소 개수
SPOP key               # 랜덤 요소 꺼내기
SRANDMEMBER key 3      # 랜덤 요소 n개 조회 (삭제 안 함)

# 집합 연산
SUNION key1 key2       # 합집합
SINTER key1 key2       # 교집합
SDIFF key1 key2        # 차집합 (key1 - key2)

# 결과를 새 키에 저장
SUNIONSTORE dest k1 k2
SINTERSTORE dest k1 k2
SDIFFSTORE dest k1 k2