[Database] Radis 개요

우유·2026년 2월 6일

[Cloud] Database

목록 보기
22/28

1. Redis란 무엇인가?

정의

Redis는 메모리 기반의 Key-Value 데이터 저장소(In-Memory Data Store) 이다.

  • 디스크가 아닌 RAM에 데이터를 저장
  • 매우 빠른 읽기/쓰기 성능
  • 단순 KV 저장소가 아니라 여러 자료구조를 제공

Redis는 “빠른 판단을 위해 잠깐 데이터를 기억하는 서버”다.


2. Redis가 등장한 이유 (문제 제기)

전통적인 웹 서비스 구조

Client → Web Server → Database

문제점

  • 모든 요청이 DB로 집중
  • 로그인, 세션 확인, 조회수 증가 같은 단순 작업도 DB 처리
  • 트래픽 증가 시 DB 병목 발생

Redis가 추가된 구조

Client → Web Server → Redis → Database

  • Redis가 DB 앞단에서 요청을 흡수
  • DB는 “진짜 중요한 데이터”만 처리

3. Redis의 핵심 특징

① In-Memory (메모리 기반)

  • 디스크 I/O 없음
  • 매우 빠른 응답 속도 (μs ~ ms)

② Key-Value 구조

key → value
session:SID123 → user_id=1001

③ 다양한 자료구조 지원

자료구조용도 예시
STRING세션, 캐시
LIST큐, 작업 대기열
SET중복 제거, 이벤트 참여
HASH객체(장바구니, 프로필)
ZSET랭킹, 점수

👉 단순 캐시보다 활용 범위가 훨씬 넓음


4. Redis는 “DB인가?”

❌ 아니다 (중요)

항목RedisRDB
저장 위치메모리디스크
기본 데이터없음있음
스키마없음있음
영구성선택적기본
목적속도정확성

정확한 표현

Redis는 “Primary Database”가 아니라“보조 데이터 저장소(Secondary Data Store)”다.


5. Redis에 저장되는 데이터의 성격

Redis에 적합한 데이터

  • 다시 만들 수 있는 데이터
  • 잠깐만 필요한 데이터
  • 빠른 판단용 데이터

예시

  • 로그인 세션
  • 상품 캐시
  • 장바구니
  • 조회수
  • 인기 랭킹
  • 이벤트 참여 여부

Redis에 ❌ 부적합한 데이터

  • 원본 사용자 정보
  • 결제 정보
  • 로그 데이터
  • 반드시 영구 보존해야 하는 데이터

6. Redis 기본 동작 흐름 (로그인 예시)

로그인 최초 요청

  1. 사용자 로그인 요청
  2. DB에서 인증
  3. 성공 시 세션 생성
  4. Redis에 세션 저장
session:SID123 → user_id=1001 (TTL 30분)

이후 요청

  1. 요청 + 세션 ID
  2. Redis에서 세션 조회
  3. 있으면 인증 OK
  4. DB 접근 ❌

👉 대부분의 요청은 Redis에서 끝남


7. TTL (Time To Live) – Redis의 핵심 기능

TTL이란?

  • 데이터에 유효 시간을 설정
  • 시간이 지나면 자동 삭제
로그인 세션 → 30분
OTP → 3분
캐시 → 1분

👉 자동 로그아웃 / 자동 캐시 만료


8. Redis 영속화

Redis는 메모리 기반이지만

장애 복구를 위해 디스크 저장 기능도 제공

2가지 방식

  • RDB: 스냅샷 (사진)
  • AOF: 명령 로그 (영상)

👉 목적은 DB 대체가 아니라 서비스 복구


9. Redis를 쓰면 얻는 효과

성능 측면

  • 응답 속도 대폭 향상
  • DB 부하 감소
  • 트래픽 급증에도 안정적

아키텍처 측면

  • 확장성 향상
  • Stateless 서버 구성 가능
  • 클라우드 환경에 최적

10. Redis는 어디에 쓰이는가?

분야사용 목적
웹 서비스세션, 캐시
이커머스장바구니, 랭킹
게임실시간 점수
API 서버Rate Limit
마이크로서비스공용 상태 저장

11. Redis를 도입하면 생기는 변화

Redis 도입 전

  • DB 중심
  • 병목 발생
  • 확장 어려움

Redis 도입 후

  • Redis가 완충 역할
  • DB 안정
  • 대규모 트래픽 처리 가능

Redis는 “데이터를 저장하기 위한 서버”가 아니라“서비스를 빠르게 만들기 위한 서버”다.


12. 브라우저 Storage vs Radis

위치차이

구분위치
LocalStorage사용자 브라우저
SessionStorage사용자 브라우저
Redis서버 측 (중앙 서버)

신뢰성과 보안

항목Browser StorageRedis
사용자 조작가능 (개발자도구)불가능
위·변조쉬움어려움
인증 데이터 저장❌ 위험⭕ 안전
서버 신뢰성없음있음

수명(TTL) 관리

구분만료
LocalStorage❌ 없음 (수동 삭제)
SessionStorage탭 닫히면 삭제
Redis⭕ TTL 자동 관리

성능과 목적

항목Browser StorageRedis
접근 속도빠름 (로컬)매우 빠름 (메모리)
네트워크없음있음
사용 목적UI 상태서버 판단
대표 예다크모드, 토큰세션, 캐시

언제 뭘 써야하나?

Browser Storage에 적합

  • 다크모드 여부

  • 최근 검색어

  • UI 설정값

  • 임시 입력값

Redis에 적합

  • 로그인 세션

  • 인증 상태

  • 장바구니

  • 캐시 데이터

  • Rate Limit


요약

  • Redis는 빠른 응답을 위해 데이터를 “잠깐 기억하는” 서버다.

  • DB 앞단에서 단순·반복 작업을 처리해 서비스 병목을 제거한다.

  • 따라서 Redis의 가치는 데이터 저장이 아니라 서비스 성능 개선에 있다.

profile
Front-end Developer, Cloud Engineer

0개의 댓글