Redis를 공부하다 보면 설치부터 막히는 경우가 꽤 있다. "그냥 쓰면 되는 거 아닌가요?"라고 생각할 수 있지만, 설치 방식에 따라 개발 편의성이 꽤 달라진다. 이 글에서는 OS별 로컬 설치, 그리고 현재 가장 권장되는 Docker를 이용한 설치까지 단계적으로 정리해본다.
2026년 기준 변경사항: Redis 8.0이 2025년 5월 GA(General Availability, 정식 릴리즈) 출시되면서 기존
redis/redis-stack이미지는 사실상 deprecated(지원 종료 예정) 상태에 들어갔다. 이제 JSON, Search, TimeSeries 등의 기능이redis코어 이미지에 통합되었다. 아래에서 상세히 다룬다.
Redis를 로컬에서 띄우는 방법은 크게 세 가지다.
| 방법 | 대상 OS | 특징 |
|---|---|---|
| APT 패키지 | Linux (Ubuntu/Debian) | OS에 직접 설치 |
| Homebrew | macOS | 패키지 매니저 활용 |
| Docker (권장) | 모든 OS | 격리된 환경, 설정 재현성 우수 |
실제 개발 환경에서는 Docker 기반 설치가 점점 표준처럼 자리잡고 있다. 환경 이슈가 거의 없고, docker-compose.yml 하나로 팀원 모두가 동일한 환경을 구성할 수 있기 때문이다.
# 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
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
강의 자료에서는 redis/redis-stack 이미지를 사용한다. 그러나 2026년 기준으로 이미지 선택 기준이 바뀌었으므로 반드시 아래 내용을 함께 확인하자.
기존 이미지 구성 (학습 자료 기준)
| 이미지 | 설명 |
|---|---|
redis | Redis 코어만 포함된 가장 기본 이미지 |
redis/redis-stack-server | JSON, Search 등 플러그인이 추가된 서버 이미지 |
redis/redis-stack | redis-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 기반으로 구성된 경우가 많으므로, 두 방식 모두 알아두는 것이 좋다.
강의에서 제공하는 기본 설정은 다음과 같다.
# 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
Redis는 텍스트 기반 CLI 도구이지만, GUI 클라이언트를 쓰면 데이터를 시각적으로 확인하기 훨씬 편하다. 두 가지 옵션이 있다.
IntelliJ IDEA 유료 버전(UE, Ultimate Edition)이라면 내장 DB 연결 기능을 이용할 수 있다.
+ 버튼 → Data Source → Redis 검색 및 선택localhost6379defaultdocker-compose.yml에 설정한 비밀번호 입력연결 후 Console 탭에서 바로 Redis 명령을 실행해볼 수 있다.

-- 기본 문자열 타입의 key-value를 저장하는 명령
SET start "hello world"
-- 저장한 값을 조회하는 명령
GET start
RedisInsight는 Redis 공식에서 제공하는 Redis 전용 GUI 툴이다. 다양한 자료형을 시각화해주고, 명령어 자동완성도 잘 되어 있어서 학습할 때 특히 유용하다.
OS 스토어에서 설치 (권장)
Redis Insight 검색 후 설치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를 사용할 수 있다.

Connect Your Databases → Add connection details manually 선택localhost6379| 서비스 | 포트 | 역할 |
|---|---|---|
| Redis 서버 | 6379 | 클라이언트 연결용 기본 포트 |
| RedisInsight (redis-stack) | 8001 | 웹 GUI (redis/redis-stack 이미지 전용) |
| RedisInsight (독립 컨테이너) | 5540 | 웹 GUI (별도 설치 시) |
이번 챕터는 결국 "Redis를 어떻게 띄울 것인가"에 관한 이야기였다. 단순히 명령어 몇 줄만 외우기보다는, 왜 Docker 방식이 권장되는지, Redis 8 이후로 이미지 구조가 어떻게 달라졌는지를 함께 이해하는 것이 중요하다.
특히 현재 기업 코드베이스는 redis/redis-stack 기반으로 이미 구성된 경우도 많으니, 두 방식 모두 익숙해져 두면 실제 개발 환경에서도 당황하지 않을 것이다.