코딩:개발일지

Redis는 어떤 상황에서 사용하는 게 좋을까?

ZZJJing 2025. 5. 27. 21:04
반응형

Redis를 공부하면서 정리한 실제 사용 상황들을 정리해보았다.

1. 캐싱이 필요할 때

데이터베이스 부하를 줄이고 싶다면 Redis를 사용 

  • 자주 조회되는 데이터를 메모리에 저장
  • 응답 속도 10배 이상 빨라짐
  • 예: 상품 정보, 사용자 프로필 등

2. 세션 관리가 필요할 때

로그인 상태를 여러 서버에서 공유해야 한다면 Redis를 사용하는 것이 좋다 

  • 사용자 로그인 정보를 중앙에서 관리
  • 서버가 여러 대여도 세션 유지 가능
  • 자동 만료 설정으로 보안성 확보

3. 실시간 기능을 구현할 때

즉시 반응해야 하는 기능들

  • 실시간 채팅 메시지 저장
  • 게임 순위표 업데이트
  • 알림 큐 관리
  • 온라인 사용자 수 카운팅

4. 임시 데이터 저장이 필요할 때

잠깐 저장했다가 사라져도 되는 데이터들

  • 이메일 인증 코드 (5분 후 만료)
  • 장바구니 임시 저장
  • API 호출 제한 카운터

5. 복잡한 자료구조가 필요할 때

단순한 key-value를 넘어서는 구조

  • List: 최근 본 상품 목록
  • Set: 좋아요 누른 사용자 집합
  • Hash: 사용자 상세 정보
  • Sorted Set: 실시간 랭킹

언제 Redis를 사용하지 말아야 할까?

1. 영구 저장이 중요한 데이터

  • 결제 정보, 회원 정보 등은 RDB 사용

2. 복잡한 관계형 쿼리가 필요할 때

  • JOIN이 많은 경우는 MySQL/PostgreSQL

3. 메모리 비용이 부담될 때

  • 대용량 데이터는 디스크 기반 DB가 경제적

실제 적용 예시

전자상거래

캐싱: 상품 정보, 카테고리 목록
세션: 로그인 상태, 장바구니
실시간: 재고 수량, 인기 상품 순위

게임 서비스

캐싱: 게임 설정, 아이템 정보
실시간: 플레이어 순위, 매칭 큐
임시저장: 게임 진행 상황

SNS 서비스

캐싱: 사용자 프로필, 피드 목록
실시간: 좋아요 수, 댓글 알림
세션: 로그인 토큰

 

Redis는 빠른 응답이 필요하고 임시성 데이터를 다룰 때 최고의 선택이다.

하지만 모든 데이터를 Redis에 넣을 필요는 없다. 용도에 맞게 적절히 조합해서 사용하는 것이 핵심이다.

 

728x90
반응형