Redis Stack 시작하기
Redis Stack 시작하기 (Getting Started with Redis Stack)
Redis는 단순한 키-값 저장소를 넘어서, 검색, JSON 문서, 시계열, 확률적 데이터 구조까지 한 서버 안에서 다루게 해주는 멀티모델 데이터베이스로 진화했어요. 이 확장 기능들을 한데 묶어 편하게 쓰게 해주는 것이 바로 Redis Stack입니다. 어떤 것들이 들어 있고, 어떻게 시작하는지 함께 볼게요.
출처: 공식문서
Redis Stack에는 무엇이 들어 있나요?
Redis Stack은 핵심 Redis 기능에 여러 성공적인 모듈을 더한 패키지예요. 같은 Redis 서버 안에서 여러 데이터 모델을 함께 쓰고 싶을 때 그대로 활용할 수 있습니다.
- JSON (RedisJSON) — JSON 문서를 기본 데이터 타입으로 저장하고, 원하는 요소만 조회·수정할 수 있어요.
- Search & Query (RediSearch) — 해시·JSON 문서에 보조 인덱스를 만들고 전체 텍스트 검색, 벡터 검색, 집계를 지원해요.
- Time Series (RedisTimeSeries) — 지속적으로 쌓이는 시계열 데이터를 저장하고 집계·분석하기에 좋아요.
- Probabilistic data structures (RedisBloom) — Bloom filter, Cuckoo filter, Count-min sketch, Top-K, t-digest처럼 근사값을 빠르게 계산하는 구조들이에요.
- Graph (RedisGraph) — 그래프 데이터를 저장하고 쿼리하는 기능이었는데, 현재는 레거시로 분류된 부분도 있어요.
이런 멀티모델 구조 덕분에 Redis Stack은 인메모리 실시간 캐시, 세션 저장소, 리더보드, 메시지 브로커뿐 아니라 문서 저장소이자 벡터 데이터베이스, 시계열 데이터베이스 역할까지 할 수 있어요.
빠르게 시작하기
Redis Stack 데이터베이스를 가장 빠르게 얻는 방법은 Redis Cloud의 무료 구독을 만들어 Redis Stack 데이터베이스를 생성하는 거예요. 또는 다음 방법으로 직접 설치할 수도 있습니다.
- Redis Software
- Redis Software in a Docker container
- 기타 Redis Software 지원 플랫폼
로컬에서 Docker로 가장 간단히 띄우려면 Redis 공식 이미지를 사용하면 돼요.
docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
참고로 redis-server는 6379 포트, Redis Insight(시각화 도구)는 8001 포트를 쓰도록 노출하고 있어요. 브라우저에서 http://localhost:8001로 Redis Insight에 접속할 수 있고, redis-cli로는 localhost:6379에 연결하면 됩니다.
Redis Cloud로 Redis Stack 데이터베이스 만들기
Redis Stack 기능이 있는 데이터베이스를 클라우드로 준비하려면 다음 순서를 따라요.
- 새 Redis Cloud 구독을 생성합니다.
- Redis Stack 데이터베이스를 생성합니다.
- 데이터베이스에 연결합니다.
자세한 흐름은 Redis Cloud 퀵스타트에서 볼 수 있어요.
구독 생성하기
- Redis Cloud 관리 콘솔에 로그인하거나 새 계정을 만듭니다.
- New subscription 버튼을 선택합니다.
- 구독을 설정합니다.
- Fixed plans를 선택합니다.
- 클라우드 공급자는 Amazon Web Services(AWS), Google Cloud(GCP), Microsoft Azure 중에 고릅니다.
- 구독을 배포할 리전을 선택합니다.
- 데이터셋 크기 목록에서 Free tier (30MB) 를 선택합니다.
- 구독 이름을 입력합니다.
- Create subscription 버튼을 선택합니다.
Redis Stack 데이터베이스 생성하기
- New database 버튼을 선택합니다.
- General settings에서 Database name을 입력합니다.
- Database Type에서 Redis Stack을 선택합니다.
- Activate database 버튼을 선택합니다.
데이터베이스에 연결하기
데이터베이스를 만든 뒤에는 Configuration 설정에서 연결에 필요한 정보를 확인할 수 있어요.
- Public endpoint — 데이터베이스의 호스트 주소
- Redis password / Default user password — 데이터베이스 인증에 쓰는 비밀번호
이 정보만 있으면 redis-cli, 애플리케이션, 또는 Redis Insight로 데이터베이스에 연결할 수 있어요.
Redis Stack 기능 사용해 보기
연결이 끝났다면 각 기능별 퀵스타트 예제를 따라가 보면서 감을 잡아볼게요.
- Redis Search quick start
- JSON quick start
- Time series quick start
- Probabilistic data structures quick start
더 알아보기 (Learn more)
Redis Stack의 각 모듈은 각각의 데이터 타입으로 다뤄집니다. JSON, Search, Time Series, 확률적 데이터 구조(Probabilistic)에 대한 개요와 명령 레퍼런스를 하나씩 살펴보면, 한 서버에서 다양한 데이터 모델을 다루는 Redis Stack의 진가를 제대로 느낄 수 있어요.