Skip to main content
데이터를 디스크가 아닌 메모리(RAM)에 저장하는 데이터 스토어입니다. 메모리에 저장하기 때문에 읽기/쓰기 속도가 매우 빠릅니다.

어디에 쓰이나요?

  • 캐시: 자주 조회하는 데이터를 메모리에 저장하여 응답 속도 향상
  • 세션 저장소: 로그인 상태, 사용자 세션 정보를 저장
  • 메시지 큐: 서비스 간 비동기 메시지 전달 (작업 대기열)
  • 실시간 데이터: 실시간 랭킹, 카운터, 속도 제한(Rate Limiting) 등
PostgreSQL 같은 디스크 기반 DB와 함께 사용되는 경우가 많습니다. 예를 들어, 자주 바뀌지 않는 데이터는 PostgreSQL에 저장하고 자주 조회하는 데이터는 Redis에 캐싱하여 성능을 높이는 방식입니다.

Docker Compose

docker-compose.yml
services:
  redis:
    image: redis:7-alpine
    container_name: redis
    restart: unless-stopped
    ports:
      - "6379:6379"
    command: redis-server --requirepass changeme
    volumes:
      - redis_data:/data

volumes:
  redis_data:

실행

docker compose up -d

접속 확인

docker exec -it redis redis-cli -a changeme
접속 후 동작을 확인합니다.
127.0.0.1:6379> ping
PONG

기본 정보

항목
포트6379
비밀번호changeme
데이터 저장 경로redis_data 볼륨

주요 설정 옵션

command 항목에 Redis 서버 옵션을 추가할 수 있습니다.
command: redis-server --requirepass changeme --maxmemory 256mb --maxmemory-policy allkeys-lru
옵션설명
--requirepass접속 비밀번호
--maxmemory최대 메모리 사용량
--maxmemory-policy메모리 초과 시 정책 (allkeys-lru, volatile-lru 등)
--appendonly yesAOF 영속성 활성화

라이선스

구분내용
라이선스RSALv2 / SSPL 듀얼 (Redis 7.4+), BSD 3-Clause (7.2 이하)
개인 사용자유롭게 사용 가능
상업적 사용사내 사용은 자유, Redis를 관리형 서비스(DBaaS)로 제공하는 것은 불가
Redis 7.4부터 라이선스가 변경되었습니다. 사내 캐시, 세션 저장소 등 내부 용도로 사용하는 것은 제한이 없습니다. 제한되는 것은 Redis 자체를 상품화하여 클라우드 서비스로 판매하는 경우입니다.

참고

설치 점검 목록

  • docker compose up -ddocker compose ps로 컨테이너 상태를 확인했습니다.
  • 기본 포트/계정/비밀번호를 문서대로 점검했습니다.
  • 운영용으로 사용할 때 기본 비밀번호/시크릿 값을 변경했습니다.
  • 장애 분석을 위해 docker compose logs -f 확인 방법을 숙지했습니다.

문제 해결 가이드

  • 컨테이너가 실행되지 않으면 docker compose logs -f로 오류 원인을 먼저 확인합니다.
  • 포트 충돌이 나면 기존 프로세스를 종료하거나 포트 매핑 값을 변경합니다.
  • 이미지 pull 실패 시 네트워크 연결 및 레지스트리 접근 권한을 확인합니다.
  • 설정 변경 후 문제가 지속되면 docker compose down 후 다시 up -d로 재기동합니다.

관련 문서

Setup 홈

운영체제별 설치 흐름을 다시 확인합니다.

다음: OpenSearch

다음 설치 단계를 이어서 진행합니다.