본문으로 바로가기

[Database] Redis Cache란?

category Database 2026. 6. 9. 14:09
728x90
반응형

 

1. Redis Cache란 무엇인가?

Redis Cache는 자주 조회되는 데이터를 메모리에 저장해 빠르게 응답하는 기술입니다.

Redis는 대표적인 인메모리(In-Memory) 기반 NoSQL 데이터 저장소로, 데이터를 디스크가 아닌 RAM(메모리) 에 저장하여 매우 빠른 읽기/쓰기 성능을 제공합니다.

일반적으로 DB(MySQL, MariaDB 등)에 직접 반복 조회하면 성능 부담이 발생할 수 있는데, Redis Cache를 사용하면 DB 조회 횟수를 줄여 응답 속도를 개선할 수 있습니다.

 

예시:

사용자 요청
   ↓
Redis Cache 확인
   ↓
데이터 존재 → Redis 반환 (빠름)
데이터 없음 → DB 조회 후 Redis 저장

2. Redis Cache 동작 방식 (Cache Hit / Miss)

Redis Cache는 보통 다음 흐름으로 동작합니다.

Cache Hit

  • Redis에 데이터가 존재
  • DB 조회 없이 즉시 반환
  • 응답 속도 매우 빠름

Cache Miss

  • Redis에 데이터가 없음
  • DB 조회
  • 조회 결과를 Redis에 저장
  • 다음 요청부터 Redis 사용

예시 흐름:

Client Request
      ↓
 Redis Cache 조회
   ↓        ↓
 Hit       Miss
 ↓           ↓
즉시 응답    DB 조회
              ↓
          Redis 저장
              ↓
            응답

Cache Hit 비율이 높을수록 시스템 성능이 좋아집니다.


3. Redis Cache의 주요 특징

Redis Cache가 많이 사용되는 이유는 다음과 같습니다.

① 매우 빠른 속도

  • 메모리 기반 처리
  • 일반 DB보다 훨씬 빠른 응답

② 다양한 자료구조 지원

  • String
  • List
  • Hash
  • Set
  • Sorted Set

예시:

SET user:1001 "Kim"
GET user:1001

③ TTL(Time To Live) 지원

데이터 만료 시간을 설정할 수 있습니다.

예시:

SET session:user01 login
EXPIRE session:user01 3600

→ 1시간 후 자동 삭제

④ 확장성

대용량 서비스에서도 분산 환경 구성이 가능합니다.


4. Redis Cache 사용 사례

실무에서는 다양한 영역에서 Redis Cache를 사용합니다.

로그인 세션 관리

사용자 인증 정보를 저장하여 빠르게 인증 처리

API 응답 캐싱

자주 호출되는 API 결과 저장

인기 게시글 조회

조회수가 높은 데이터 캐싱

실시간 랭킹

Sorted Set 기반 랭킹 처리

예시:

쇼핑몰 인기 상품
뉴스 인기 검색어
실시간 사용자 순위

5. Redis Cache 적용 시 장점

예를 들어:

Before:
Client → DB

After:
Client → Redis → DB

대부분 요청이 Redis에서 처리되므로 시스템 성능이 크게 향상됩니다.


6. Redis Cache 사용 시 주의사항

메모리 사용량 관리

Redis는 메모리 기반이므로 저장량 관리가 중요합니다.

TTL 설정 필요

무한 저장 시 메모리 부족 가능성이 있습니다.

데이터 정합성

DB 데이터 변경 시 Redis Cache 갱신 전략이 필요합니다.

대표 전략:

  • Cache Aside Pattern
  • Write Through
  • Write Back

실무에서는 Cache Aside Pattern을 가장 많이 사용합니다.

 

오늘 포스팅은 여기까지하겠습니다.

'Database' 카테고리의 다른 글

[Database] ORM(Object-Relational Mapping)이란?  (0) 2026.05.06
[Database] Redis Sentinel이란?  (0) 2026.03.29
[Database] TypeDB란 무엇인가?  (0) 2026.01.23
[Database] RedisDB란?  (0) 2025.10.10
[Database] 헤이즐캐스트란?  (0) 2025.09.19