Redis 설치 - 로컬부터 Docker까지

StrayCat·2026년 3월 15일

들어가며

Redis를 공부하다 보면 설치부터 막히는 경우가 꽤 있다. "그냥 쓰면 되는 거 아닌가요?"라고 생각할 수 있지만, 설치 방식에 따라 개발 편의성이 꽤 달라진다. 이 글에서는 OS별 로컬 설치, 그리고 현재 가장 권장되는 Docker를 이용한 설치까지 단계적으로 정리해본다.

2026년 기준 변경사항: Redis 8.0이 2025년 5월 GA(General Availability, 정식 릴리즈) 출시되면서 기존 redis/redis-stack 이미지는 사실상 deprecated(지원 종료 예정) 상태에 들어갔다. 이제 JSON, Search, TimeSeries 등의 기능이 redis 코어 이미지에 통합되었다. 아래에서 상세히 다룬다.


1. 설치 방식의 선택

Redis를 로컬에서 띄우는 방법은 크게 세 가지다.

방법대상 OS특징
APT 패키지Linux (Ubuntu/Debian)OS에 직접 설치
HomebrewmacOS패키지 매니저 활용
Docker (권장)모든 OS격리된 환경, 설정 재현성 우수

실제 개발 환경에서는 Docker 기반 설치가 점점 표준처럼 자리잡고 있다. 환경 이슈가 거의 없고, docker-compose.yml 하나로 팀원 모두가 동일한 환경을 구성할 수 있기 때문이다.


2. Linux(Ubuntu/Debian)에서 설치하기

# Redis 공식 GPG 키를 시스템에 등록한다
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor \
  -o /usr/share/keyrings/redis-archive-keyring.gpg

# Redis 공식 APT 저장소를 sources.list에 추가한다
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] \
https://packages.redis.io/deb $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/redis.list

# 새로 추가된 저장소를 반영하기 위해 패키지 목록을 업데이트한다
sudo apt-get update

# Redis를 설치한다
sudo apt-get install redis

설치 후, Redis 서버를 백그라운드에서 실행하려면 아래 명령을 사용한다.

# systemd의 service 명령으로 Redis 서버를 시작한다
sudo service redis-server start

3. macOS에서 설치하기 (Homebrew)

macOS 개발자라면 Homebrew를 이용하는 것이 가장 간편하다. Homebrew가 없다면 먼저 설치한다.

# Homebrew 설치 명령어 (공식 설치 스크립트)
/bin/bash -c "$(curl -fsSL \
  https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Homebrew로 Redis를 설치한다
brew install redis

# brew services를 이용해 백그라운드에서 Redis 서버를 시작한다
brew services start redis

4. Docker를 이용해 설치하기 (권장)

4-1. Docker Hub의 Redis 이미지 선택

강의 자료에서는 redis/redis-stack 이미지를 사용한다. 그러나 2026년 기준으로 이미지 선택 기준이 바뀌었으므로 반드시 아래 내용을 함께 확인하자.

기존 이미지 구성 (학습 자료 기준)

이미지설명
redisRedis 코어만 포함된 가장 기본 이미지
redis/redis-stack-serverJSON, Search 등 플러그인이 추가된 서버 이미지
redis/redis-stackredis-stack-server + RedisInsight UI가 포함된 이미지

⚠️ 2026년 기준 변경 사항

Redis 8.0 GA 출시 이후, redis/redis-stack 계열 이미지는 공식적으로 deprecated 처리되었다. 기존에 별도 모듈로 존재하던 RediSearch, RedisJSON, RedisTimeSeries, RedisBloom 등이 Redis 8 코어(redis:8)에 통합되었기 때문이다.

공식 블로그의 발표 내용에 따르면, Redis Stack 6.2, 7.2, 7.4에 대한 패치 지원은 2025년 9월 15일부로 종료되었다.

현재 권장 이미지 구성 (Redis 8 기준)

# docker-compose.yml (Redis 8 기준 최신 방식)
services:
  redis:
    # redis:8 이미지 하나에 기존 Stack 기능이 모두 포함된다
    image: redis:8
    container_name: redis-server
    restart: always
    # 비밀번호 설정은 command 파라미터로 전달한다
    # (기존 redis-stack의 REDIS_ARGS 환경변수 방식은 redis:8에서 동작하지 않는다)
    command: --requirepass systempass
    ports:
      - 6379:6379 # Redis 기본 포트
    volumes:
      - redis-data:/data # 데이터 영속성(persistence)을 위한 볼륨 마운트

  redisinsight:
    # RedisInsight는 이제 별도 컨테이너로 분리해서 실행한다
    image: redis/redisinsight:latest
    container_name: redisinsight
    restart: always
    ports:
      - 5540:5540 # RedisInsight 접근 포트
    volumes:
      - redisinsight-data:/data # RedisInsight 설정 영속성을 위한 볼륨

volumes:
  redis-data:
  redisinsight-data:

학습 환경에서는 강의 자료의 redis/redis-stack 이미지로 실습해도 지장이 없다. 다만, 실제 새 프로젝트를 시작할 때는 redis:8로 전환하는 것이 더 나은 선택이다.

레거시 시스템 환경에서는 여전히 redis/redis-stack 기반으로 구성된 경우가 많으므로, 두 방식 모두 알아두는 것이 좋다.


4-2. 강의 실습용 docker-compose.yml (redis-stack 기반)

강의에서 제공하는 기본 설정은 다음과 같다.

# docker-compose.yml (강의 실습용)
services:
  redis-stack:
    # JSON, Search 기능 + RedisInsight가 포함된 올인원 이미지
    image: redis/redis-stack
    container_name: redis-stack-compose
    restart: always # 컨테이너가 죽으면 자동으로 재시작한다
    environment:
      # Redis 서버 실행 인수를 환경변수로 전달한다
      # "systempass" 부분이 접속 비밀번호이므로 원하는 값으로 변경 가능하다
      REDIS_ARGS: "--requirepass systempass"
    ports:
      - 6379:6379 # Redis 서버 포트
      - 8001:8001 # RedisInsight 웹 UI 포트

빈 폴더를 만들고 위 파일을 docker-compose.yml로 저장한 뒤, 해당 폴더에서 아래 명령을 실행한다.

# -d 옵션: 백그라운드(detached mode)에서 컨테이너를 실행한다
docker compose up -d

# 컨테이너가 정상적으로 실행 중인지 상태를 확인한다
docker compose ps

5. Redis GUI 클라이언트 연결하기

Redis는 텍스트 기반 CLI 도구이지만, GUI 클라이언트를 쓰면 데이터를 시각적으로 확인하기 훨씬 편하다. 두 가지 옵션이 있다.


5-1. IntelliJ IDEA Ultimate Edition에서 연결

IntelliJ IDEA 유료 버전(UE, Ultimate Edition)이라면 내장 DB 연결 기능을 이용할 수 있다.

  1. 우측 Database 탭 클릭
  2. + 버튼 → Data SourceRedis 검색 및 선택
  3. 아래 정보 입력:
    • Host: localhost
    • Port: 6379
    • User: default
    • Password: Docker로 설치한 경우, docker-compose.yml에 설정한 비밀번호 입력
  4. Test Connection 클릭 → 성공하면 OK

연결 후 Console 탭에서 바로 Redis 명령을 실행해볼 수 있다.

-- 기본 문자열 타입의 key-value를 저장하는 명령
SET start "hello world"

-- 저장한 값을 조회하는 명령
GET start

5-2. RedisInsight 사용하기

RedisInsight는 Redis 공식에서 제공하는 Redis 전용 GUI 툴이다. 다양한 자료형을 시각화해주고, 명령어 자동완성도 잘 되어 있어서 학습할 때 특히 유용하다.

설치 방법

OS 스토어에서 설치 (권장)

  • macOS: App Store에서 Redis Insight 검색 후 설치
  • Windows: Microsoft Store에서 Redis Insight 검색 후 설치

설치 파일로 직접 설치

스토어를 사용하지 않으려면 Redis Cloud Console(https://app.redislabs.com)에 로그인 후, Download Center에서 OS에 맞는 설치 파일을 받을 수 있다.

Docker로 설치

# RedisInsight를 Docker 컨테이너로 실행한다
# -p 5540:5540: 호스트의 5540 포트를 컨테이너의 5540 포트에 연결한다
docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest

# 데이터(설정)를 컨테이너 종료 후에도 유지하려면 볼륨(-v)을 추가한다
docker run -d --name redisinsight -p 5540:5540 \
  redis/redisinsight:latest -v redisinsight:/data

주의: Redis와 RedisInsight를 별도의 Docker 컨테이너로 실행할 경우, RedisInsight에서 localhost로 연결을 시도하면 연결이 안 될 수 있다. 두 컨테이너가 같은 Docker 네트워크에 있어야 통신이 가능하다. 위의 docker-compose.yml 방식을 사용하면 이 문제를 자연스럽게 해결할 수 있다.

설치 후 브라우저에서 http://localhost:5540으로 접속하면 RedisInsight를 사용할 수 있다.

연결 설정

  1. Connect Your DatabasesAdd connection details manually 선택
  2. Redis 인스턴스 정보 입력:
    • Host: localhost
    • Port: 6379
    • Password: 설정한 비밀번호
  3. Add Redis Database 클릭

6. 한눈에 보는 포트 정리

서비스포트역할
Redis 서버6379클라이언트 연결용 기본 포트
RedisInsight (redis-stack)8001웹 GUI (redis/redis-stack 이미지 전용)
RedisInsight (독립 컨테이너)5540웹 GUI (별도 설치 시)

마무리

이번 챕터는 결국 "Redis를 어떻게 띄울 것인가"에 관한 이야기였다. 단순히 명령어 몇 줄만 외우기보다는, 왜 Docker 방식이 권장되는지, Redis 8 이후로 이미지 구조가 어떻게 달라졌는지를 함께 이해하는 것이 중요하다.

특히 현재 기업 코드베이스는 redis/redis-stack 기반으로 이미 구성된 경우도 많으니, 두 방식 모두 익숙해져 두면 실제 개발 환경에서도 당황하지 않을 것이다.


참고 자료

profile
알면 좋은 것보단 잊어버리기 싫은 것들을 기록합니다.

0개의 댓글