본문 바로가기
Database/Redis

[Redis] Redis 정리 #1 - 개념과 특징

by sunsetk 2025. 7. 20.

📖 이 글은 Redis 공식 문서(redis.io)를 기반으로 작성된 내용입니다.
💡 Java 기반 개발 관점에서 Redis 개념과 구조를 정리합니다.

Redis란 무엇인가?

Redis는 Remote Dictionary Server의 약자로, 인메모리 기반의 고성능 데이터 저장소다.
단순한 캐시를 넘어, 다양한 데이터 구조를 실시간으로 처리할 수 있다는 점에서 캐시, DB, 메시지 브로커 등 다양한 용도로 활용된다.


🔹 Redis의 정의 (공식 문서 기반)

Redis is an in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and message broker.

  • 인메모리 기반 저장소 (RAM 사용 → 매우 빠름)
  • 다양한 데이터 구조 지원 (String, Hash, List, Set, Sorted Set, JSON 등)
  • 내장 복제 + 디스크 영속성(RDB, AOF) 지원
  • 원자적 연산 가능

🔹 Redis의 활용 예시

용도 설명
캐시 DB 보다 빠른 접근 속도
세션 저장소 로그인 세션 등 유지
실시간 채팅 pub/sub, stream 활용
벡터 DB AI 임베딩 검색에 사용
문서 DB JSON 저장 및 조회
AI/챗봇 빠른 응답 처리, 대화 상태 저장

 


🔹 Redis 통합 도구 및 언어별 라이브러리

  • Java : Spring Data Redis
  • Python : redis-py, redisvl
  • 기타 : Node.js, Go 등 다수 지원
  • 모니터링 : Prometheus + Grafana

🔹 Java 환경에서의 Redis 활용

  • 주요 라이브러리 : Spring Data Redis, Lettuce, RedisTemplate
  • Spring Boot 연동 용이 + `@Cacheable` 등 Cache 추상화 지원
  • pub/sub 또는 stream을 활용한 실시간 처리 가능 
  • Redis는 Java 백엔드에서 세션 저장, 토큰 관리, 메시지 처리에 자주 사용됨

🔹 Redis 배포 방식

  • Redis Cloud (클라우드 기반 무료/유료 DB 제공)
  • Redis Enterprise (상용 Redis 버전)
  • Kubernetes 배포 (Operator 지원)

마무리

Redis는 단순 캐시를 넘어서 실시간 애플리케이션에 필요한 다양한 기능을 가진 강력한 인메모리 데이터 저장소이다.
이제 다음 단계로, Redis의 자료구조와 명령어를 정리해보자

🔗 참고 자료