--- title: Redis — 데이터베이스 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 메모리 기반 데이터 구조 서버로 캐시·세션·실시간 분석·벡터 검색을 담당하는 DB. tags: 프로그램, 데이터베이스 및 서버 운영, redis --- 인메모리 데이터 구조 서버로 캐시·실시간 분석에 사용되는 데이터베이스 ## 기본 정보 | 프로그램 이름 | Redis (레디스) | | --- | --- | | 한 줄 소개 | 인메모리 데이터 구조 서버로 캐시·실시간 분석에 사용되는 데이터베이스 | | 개발·유지 | Redis Ltd. | | 공식 홈페이지 | https://redis.io/ | | 공식 문서 | https://redis.io/docs/latest/ | | 공식 다운로드 | https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/ | | 지원 운영체제 | Linux, macOS, Windows(WSL), Docker | | 라이선스 | Redis Source Available License(RSALv2)·SSPL·AGPL 트라이 라이선스 (8.x 기준) | | 안정 버전 | 8.10.2 (2026-09-17, 8.10 계열) — 확인일 2026-10-18 | | GitHub 저장소 | https://github.com/redis/redis | | 분류 | 데이터베이스 (태그: 데이터베이스, 캐시, 인메모리, 실시간, 벡터 검색) | ## 이 프로그램은 무엇인가? Redis는 데이터를 주로 메모리에 두고 작업하는 인메모리 데이터 구조 서버입니다. 문자열, 해시, 리스트, 집합, 정렬 집합 등 다양한 구조를 제공하며, 단순 캐시부터 세션 관리, 리더보드, 실시간 분석에 이르기까지 폭넓게 사용됩니다. 8.x 라인업에서는 JSON·시계열·벡터 검색 같은 기능도 함께 제공합니다. 데이터베이스 캐시 계층으로 웹 애플리케이션 응답 속도를 높이는 것이 가장 흔한 용도이며, AI 애플리케이션에서는 벡터 검색 엔진으로도 쓰입니다. ## 어떤 문제를 해결하는가? - 반복 조회되는 데이터를 메모리에 놓아 응답 속도를 높여야 하는 상황 - 로그인 세션·쇼핑 카트처럼 짧은 수명의 상태를 관리해야 하는 상황 - 실시간 집계·리더보드처럼 빠른 갱신이 필요한 데이터가 있는 상황 ## 주요 기능 ### 캐시 자주 읽는 데이터를 메모리에 저장해 DB 부하를 줄임 - **활용 상황**: 웹 응답 속도 개선 - **얻는 결과**: DB 쿼리 횟수 감소 - **제한 사항**: TTL로 만료 관리 필요 ### 데이터 구조 문자열·해시·리스트·집합·정렬 집합 등 다중 구조 - **활용 상황**: 복잡한 실시간 작업 구현 - **얻는 결과**: 간단한 카운터·큐·세션 관리 - **제한 사항**: 모든 작업이 메모리 자원에 의존 ### 발행·구독 채널 기반 메시지 브로드캐스트 - **활용 상황**: 실시간 알림·이벤트 전파 - **얻는 결과**: 구독자에게 즉시 전달 - **제한 사항**: 영속화 강도 설정 필요 ### 벡터·JSON 확장 8.x에서 벡터 검색·JSON 문서 기능 제공 - **활용 상황**: AI 검색·문서 메타데이터 관리 - **얻는 결과**: LLM 애플리케이션 검색 계층 - **제한 사항**: 확장 기능별 라이선스 확인 필요 ## 설치 및 실행 ### Ubuntu / Debian (APT) 배포판 저장소 버전을 설치합니다. ``` sudo apt install redis-server ``` ### macOS (Homebrew) Homebrew로 설치합니다. ``` brew install redis ``` ### Docker 공식 컨테이너 이미지로 실행합니다. ``` docker run -d --name redis -p 6379:6379 redis:8-alpine ``` ## 실제 사용 예제 ### 서버 시작 설치 후 서비스를 시작하고 포트 확인합니다. ``` sudo systemctl enable --now redis-server ``` ### CLI 연결 redis-cli로 접속해 간단한 키 작업을 수행합니다. ``` redis-cli > SET greeting hello > GET greeting ``` ### TTL 설정 키에 만료 시간을 부여합니다. ``` redis-cli EXPIRE session:123 3600 ``` ## 장점과 한계 ### 장점 - 극히 빠른 읽기·쓰기 성능 - 다양한 데이터 구조로 실시간 작업에 적합 - 폭넓은 언어 클라이언트 생태계 - 캐시·세션·큐·벡터 검색까지 한 시스템에서 처리 ### 사용 전에 고려할 점 - 데이터 중심이 메모리이므로 용량 계획이 중요 - 8.x 이후 라이선스가 완전한 오픈소스( OSI )에서 벗어남 - 영속성·복제 설정이 없으면 장애 시 데이터 손실 위험 ## 비슷한 프로그램과 비교 | 프로그램 | 특징 | 이런 경우에 적합 | | --- | --- | --- | | PostgreSQL | 디스크 기반 범용 관계형 DB, 강력한 쿼리 | 복잡한 트랜잭션·조회 중심 | | Memcached | 단순 키-값 캐시, 구조 제한적 | 단순 캐시가 필요한 환경 | | Valkey | Redis 포크, BSD 라이선스 | 완전 오픈소스 라이선스 선호 시 | ## 공식 자료 및 추가 학습 - [공식 홈페이지](https://redis.io/) — https://redis.io/ - [공식 문서 / 지식베이스](https://redis.io/docs/latest/) — https://redis.io/docs/latest/ - [공식 다운로드](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/) — https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/ - [릴리스 노트](https://github.com/redis/redis/releases) — https://github.com/redis/redis/releases - [소스 / 개발 자료](https://github.com/redis/redis) — https://github.com/redis/redis 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 합성 예시 — 실제 실행 결과가 아닙니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![Redis CLI에서 키 저장·조회·TTL 설정 예시](https://games.cursorai.co.kr/assets/redis-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/apps/databases/redis.html