ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Redis는 스토리지 공간 사용 용도
    DevOps 2025. 3. 23. 13:36
    728x90

    Redis는 기본적으로 인메모리(in-memory) 데이터베이스지만, 스토리지(디스크 공간)도 중요한 역할을 합니다. 아래에 Redis가 스토리지를 사용하는 주요 용도를 정리해볼게요.

     

    Redis가 스토리지를 사용하는 주요 용도

    1. 지속성(Persistence) – 데이터 저장

    Redis는 메모리에서 동작하지만, 장애 발생 시 데이터를 복구할 수 있도록 디스크에 데이터를 저장할 수 있는 Persistence(지속성) 기능을 제공합니다.

    🔸 RDB (Redis Database Snapshot)

    • 일정 주기마다 메모리 상태 전체를 디스크에 저장 (스냅샷)
    • 저장 위치: dump.rdb
    • 적은 디스크 I/O, 빠른 복구 속도
    • 단점: 마지막 스냅샷 이후의 데이터는 유실 가능

    🔸 AOF (Append Only File)

    • 모든 쓰기 명령을 append 방식으로 기록
    • 저장 위치: appendonly.aof
    • 더 높은 데이터 안전성 (모든 변경 사항 기록)
    • 주기적으로 rewrite 가능 (용량 감소 및 성능 유지)

    ✅ AOF + RDB 병행 사용도 가능

    • AOF는 장애 복구에 사용, RDB는 빠른 시작을 위해 사용

    2. 클러스터 구성 정보 저장

    • Redis Cluster 모드에서 클러스터 상태 정보를 저장하는 파일이 있음
      • 예: nodes.conf
    • Redis 재시작 시 클러스터 구성 정보를 이 파일에서 로드함
    • 일반적으로 Redis 인스턴스가 실행되는 디렉토리에 저장

    3. 로그 파일

    • 서버 로그를 파일로 저장 가능 (redis.conf에서 설정)
      • 예: logfile /var/log/redis/redis.log
    • 디버깅, 모니터링, 장애 분석에 활용

    4. Module 관련 저장소 (Optional)

    • Redis 모듈(예: RedisJSON, RedisSearch 등)이 디스크에 별도의 인덱스나 메타데이터를 저장할 수도 있음 (모듈마다 다름)

     

    ⚠️ 주의사항: 디스크 공간이 부족할 경우

    • AOF 파일이 너무 커지면 디스크가 가득 차 Redis가 동작 중단할 수 있음
    • RDB, AOF 쓰기 실패 시 데이터 유실 위험 있음
    • /var/log 공간 부족으로 로그 저장 실패도 발생 가능

    💡 운영 팁

    • AOF 파일은 주기적으로 BGREWRITEAOF로 정리
    • RDB 스냅샷 주기 설정 적절히 조정
    • 디스크 사용량 모니터링 필수 (Prometheus + Grafana 추천)
    • 디스크 IOPS 성능도 고려 (특히 AOF 사용 시)

     

    요약하면 Redis는 디스크를 데이터 영속화, 클러스터 정보 저장, 로그 기록 등의 목적으로 사용합니다. 메모리 기반이지만 안정성과 복구를 위해 스토리지가 필수적이에요.

     

     


    🧾 1. 쓰기 명령(Write Commands)의 예

    쓰기 명령이란 Redis의 데이터를 변경하는 모든 명령어를 말합니다. 대표적인 것들은 아래와 같아요:

    🔹 문자열 관련

    • SET key value
    • SETEX key seconds value
    • APPEND key value
    • INCR key / DECR key

    🔹 리스트 관련

    • LPUSH key value
    • RPUSH key value
    • LPOP key / RPOP

    🔹 해시(Hash) 관련

    • HSET key field value
    • HDEL key field

    🔹 집합(Set) 관련

    • SADD key member
    • SREM key member

    🔹 정렬된 집합(Sorted Set)

    • ZADD key score member
    • ZREM key member

    🔹 기타

    • DEL key
    • EXPIRE key seconds
    • FLUSHDB / FLUSHALL (주의: 전체 삭제)

    ➡️ 이런 명령들이 AOF 파일에 순차적으로 기록됩니다.
    AOF는 Redis가 꺼졌다가 다시 켜질 때, 이 명령들을 순서대로 재실행해서 데이터를 복원합니다.

    728x90
Designed by Tistory.