Mingyu Kim

복합 구조 명령어

1. Hash (필드-값 쌍의 집합)

하나의 키 안에 여러 개의 필드(Field)와 값(Value)을 저장하는, 객체(Object)를 표현하기에 가장 적합한 구조

명령어 설명 예시
HSET 하나 이상의 필드와 값을 저장 HSET user:1 name "Kim" age 25
HGET 특정 필드의 값을 조회 HGET user:1 name
HGETALL 모든 필드와 값을 조회 HGETALL user:1
HINCRBY 특정 필드의 숫자를 증가시킴 HINCRBY user:1 age 1
HDEL 특정 필드를 삭제 HDEL user:1 age

활용 사례: 사용자 프로필 정보 저장, 상품 상세 정보, 설정값 관리

2. Set (중복 없는 무순위 집합)

중복을 허용하지 않는 문자열의 모음. 순서는 보장되지 않지만, 집합 연산(교집합, 합집합 등)이 매우 빠르다.

명령어 설명 예시
SADD 집합에 하나 이상의 요소 추가 SADD tags "web" "backend"
SREM 집합에서 특정 요소 삭제 SREM tags "web"
SISMEMBER 특정 요소가 있는지 확인 (0 또는 1) SISMEMBER tags "backend"
SINTER 여러 집합의 교집합 조회 SINTER setA setB
SUNION 여러 집합의 합집합 조회 SUNION setA setB

활용 사례: 블로그 태그 시스템, 고유 방문자(IP) 체크, 친구 공통 관심사 추출

3. Sorted Set (가중치 기반 정렬 집합)

Set처럼 중복을 허용하지 않지만, 각 요소마다 Score(점수)를 연결. 이 점수를 기준으로 데이터가 항상 자동 정렬된 상태를 유지

명령어 설명 예시
ZADD 점수와 함께 요소 추가/업데이트 ZADD rank 100 "userA" 200 "userB"
ZRANGE 점수 낮은 순으로 범위 조회 ZRANGE rank 0 -1
ZREVRANGE 점수 높은 순으로 범위 조회 ZREVRANGE rank 0 -1
ZSCORE 특정 요소의 현재 점수 확인 ZSCORE rank "userA"
ZRANK 특정 요소의 순위(0부터 시작) 확인 ZRANK rank "userB"

활용 사례: 실시간 게임 리더보드, 최근 검색어 리스트(점수를 시간으로 설정), 대기열 우선순위 관리