inblog logo
|
LifeLog, DevLog
    Redis

    Redis

    KYJTHEYJ's avatar
    KYJTHEYJ
    Apr 02, 2026
    Redis
    Contents
    RedisRedis 지원 자료형Redis 문법Sorted Set (ZSET)

    Redis

    데이터를 메모리에 저장하는 고속 Key-Value 형태의 캐시 서버 = 인메모리 데이터 저장소
    캐시 용도, 일종의 저장소 용도 (조회수 및 좋아요 같은 단순 데이터), 분산 락, 세션의 관리 등으로 쓰임
    💡
    DocsDocsRedis data types
    Redis data types

    Redis data types

    Overview of data types supported by Redis

    DocsDocs
    Redis 공식 문서 (자료형 및 명령어)

    Redis 지원 자료형

    String, List, Set, Hash, SortedSet
    • List → 순서가 있는 데이터의 경우
    • Hash → 필드와 값의 한 쌍 (객체 데이터 저장의 용도)
    • SortedSet → Set + List 의 형태, 정렬된 집합 (중복도 제거, 순서를 지켜줌)
    String
    가장 기본적인 Key-Value 형태 문자열, 숫자 모두 저장 가능
    캐싱 (게시글, 토큰 등) 조회수/좋아요 수 카운팅 오늘 방문자 수 카운팅
    List
    순서가 있는 데이터 구조 큐(Queue)나 스택(Stack)처럼 사용 가능
    실시간 주문 대기열 큐 최근 활동 기록 (최근 본 상품 목록 등) 채팅 메시지 저장
    Set
    중복 없는 데이터의 집합
    팔로워/팔로잉 관리 좋아요 누른 사용자 목록 tags 저장
    Hash
    하나의 Key에 여러 필드-값 쌍 저장 (Map 구조)
    사용자 정보 캐싱 상품 상세정보 임시 저장 세션 데이터 관리
    Sorted Set
    점수(score) 기반 자동 정렬된 집합
    랭킹 시스템 (게임 점수, 인기 게시글 순위) 실시간 순위 업데이트 (조회수 기반)

    Redis 문법

    String

    • set → 값을 저장함
      • set username "tester"
    • get → 값을 불러옴
      • get username
    notion image

    List

    • lpush, rpush
      • lpush → 왼쪽에 값을 추가, rpush → 오른쪽에 값을 추가
    • linsert
      • linsert [key] <before | after> [value] [add value] → 값의 앞 또는 뒤에 추가할 값을 추가
      •  
    • lrange
      • lrange [key] [start index] [end index] → 범위 조회
      • 인덱스 시작 값이 0, 끝 값을 -1 로 하면 전체 조회
    • lpop, rpop
      • 리스트에서 값을 꺼내기
    notion image
    notion image

    Set

    • sadd → Set 값을 추가함
      • sadd [key] [value]
    • smembers → Set 에 저장된 값을 부름
      • smembers [key]
        • notion image

    Hash

    • hset → Hash 값을 추가함
      • hset [key] ([field] [value]) 반복
      • hset user:1 name "test" role tester
    • hgetall → 저장된 Hash 값을 조회
      • hgetall [key]
      • hgetall user:1
    notion image

    Sorted Set (ZSET)

    → 인기 검색어 조회, 인기 상품 조회, 순위 등에 사용
    • zadd → Sorted Set 값을 추가함 (값 + 점수 저장)
      • zadd [key] [score] [member]
        • Key 를 활용하여 일간 검색 등 다양하게 활용 가능하다 (rank:yyyy-MM-dd 가 Key 면 일간 검색에 활용 가능)
        zadd rank 100 test1 60 test2
    • zincrby → ZADD 로 입력한 점수를 증가 시키기
      • zincrby [key] [score] [value]
    • zrange → 점수 순으로 조회 (오름차순)
      • zrange [key] [start index] [end index] (withscores) → 점수 포함 출력
      • notion image
    • zrevrange → 점수 순으로 조회 (내림차순)
      • zrevrange [key] [start index] [end index] (withscores) → withscores 는 점수까지 출력
      • notion image
    • zunionstore → ZSET 들을 묶는 명령어
      • zunionstore [key] [weigthAmount] [weigth…] [AGGREGATE SUM | MIN | MAX]
        • Aggregate Sum → 같은 카테고리 score를 합산 방식으로 합침
    zunionstore category_rank:recent3 3 category_rank:2025-11-26 category_rank:2025-11-27 category_rank:2025-11-28 aggregate sum
    → 3일치 데이터를 합산한 새로운 ZSET 생성
    notion image
    notion image
    → 합산한 결과, aggregate sum 수행으로 ram의 점수는 110으로 합산됨
    notion image
     
    Share article
    Contents
    RedisRedis 지원 자료형Redis 문법Sorted Set (ZSET)

    LifeLog, DevLog - https://github.com/KYJTHEYJ

    RSS·Powered by Inblog