평소에 Redis를 단순히 RefreshToken과 AccessToken을 저장하기 위해 쓰고 , 가끔은 랭킹 시스템을 쉽게 구현하기 위해서 , 그리고 Cache를 사용하기 위해서 아주 일부분만 사용하였습니다.
조금 더 잘 써보고 싶어서 유튜브 강의를 찾는 도중 2개의 강의를 찾을 수 있었고 해당 강의를 들으면서 배운 내용을 정리해 보고자 합니다!
제가 들은 강의는 아래 2개 입니다
관심이 생기면 꼭 한번 들어보는걸 추천합니다
https://youtu.be/mPB2 CZiAkKM? si=r7Ux2-tzemR3 DvIL
https://youtu.be/92 NizoBL4 uA? si=mGV4 kYfZh6 mRBa4 D
캐시(Cache)란 무엇인가?
캐시는 간단히 말해
원본 데이터를 보다 더 빠르게 접근하기 위해 사용하는 임시 데이터 저장소입니다
예를 들어 어떤 사용자가 게시글을 조회한다고 가정해 보면
일반적인 흐름은 다음과 같습니다
사용자 요청 → 서버 → DB 조회 → 응답
이때 동일한 게시글을 수천 명이 동시에 조회하면 DB는 같은 데이터를 계속 조회해야 하는 비효율이 발생하게 됩니다
하지만 캐시를 사용해 다음과 같이 구성하면
사용자 요청 → 서버 → 캐시 조회 → 응답
더 빠른 저장소에서 데이터를 가져올 수 있습니다.
즉
- 반복 조회 되는 데이터
- 자주 변하지 않는 데이터
- 많은 사용자가 동시에 조회하는 데이터
인 경우 캐시를 사용하면 매우 큰 성능 향상을 얻을 수 있습니다
파레토의 법칙과 캐시

이탈리아 경제학자 빌프레도 파레토가 인구의 20%가 부의 80% 를 소유한 현상을 관찰한 데서 유래했으며 이를 IT 분야에 접목하면 다음과 같은 법칙이 완성됩니다
전체 요청의 약 80% 는
전체 데이터의 약 20%의 원인이 좌우한
즉 우리는 이 20%의 데이터만 빠르게 가져올 수 있으면 전체 시스템 80%를 성능이 좋게 운영할 수 있습니다.
자주 조회되는 일부 데이터만 캐싱해도 전체 성능이 크게 개선되고 이것이 캐시가 필요하고 강력한 이유입니다
Redis를 캐시로 많이 사용하는 이유
1. In-Memory 저장소

Redis는 모든 데이터를 메모리 (RAM)에 저장합니다
컴퓨터 메모리 계층 구조를 살펴보면 위로 갈수록 빠르지만 용량은 적고 , 아래로 갈 수록 느리지만 데이터를 저장할 수 있는 용량은 커짐을 볼 수 있습니다
Redis는 메모리 계층 구조에서 RAM 수준에 위치해, Disk 기반 데이터베이스보다 빠른 성능을 제공합니다.
이로 인해
- 평균 응답 속도 < 1ms
- 초당 수십만 이상의 요청 (TPS) 처리가 가능합니다
2. 단순한 Key-Value 구조
Redis는 기본적으로 Data를 Key-Value 형태로 테이터를 저장합니다 (그리고 Key에 앞 혹은 뒤에 Prefix를 둘 수 있습니다)
예를 들어
user:123 → 사용자 정보
post:555 → 게시글 정보
token:abc → 인증 토큰
처럼 매우 직관적으로 데이터를 저장하고 , 사용할 때에도 간편하게 사용할 수 있습니다
3. Atomic 연산 지원
Redis는 단일 스레드 기반으로 동작하며 명령어 단위의 원자성을 보장합니다
예를 들어 조회수 증가 같은 작업을 할 때
INCR post:view:555
처럼 간단하게 처리할 수 있고 동시성 문제를 걱정할 필요가 없습니다
예를들어
이미 친구 리스트에 A라는 친구가 있는 상황에서 다른 친구를 추가하는 2개의 Transaction이 일어난다 가정해 봅시다
이 상황에서 가장 이상적인 상황은 다음과 같습니다.
| 시간 순서 | T1(친구 B 추가) | T2(친구 C 추가) | 결과 |
| 1 | frieds:123읽기 | A | |
| 2 | 친구 B 추가 | A | |
| 3 | friend:123 쓰기 | A,B | |
| 4 | friends:123읽기 | A,B | |
| 5 | 친구 C 추가 | A,B | |
| 6 | friends:123쓰기 | A,B,C |
하지만 이런 상황이 생길 수 있습니다
| 시간 순서 | T1(친구 B 추가) | T2(친구 C 추가) | 결과 |
| 1 | frieds:123읽기 | A | |
| 2 | friends:123읽기 | A | |
| 3 | 친구 B 추가 | A | |
| 4 | 친구 C 추가 | A | |
| 5 | friends:123쓰기 | A,C | |
| 6 | friend:123 쓰기 | A,B |
우리가 Redis를 사용하게 된다면 Redis는 자료구조가 Atomic 하기 때문에 이러한 RaceCondition을 피할 수 있습니다.
4. 다양한 자료 구조 제공 ( Collections)
Redis는 단순 캐시 서버가 아니라 자료구조 서버라고 불릴 정도로 다양한 구조를 제공합니다
예를 들어
- List → Queue 구현
- Set → 중복 없는 친구 목록
- Sorted Set → 랭킹 시스템
이처럼 별도의 로직 없이도 복잡한 기능을 쉽게 구현할 수 있습니다
MemCached vs Redis
Redis는 싱글 스레드 MemCached는 멀티 스레드라서 성능 차이도 있지만 결정적으로 Redis를 많이 쓰는 이유는
Redis는 Collection을 제공한다는 점입니다
이로 인해 개발의 편의성도 올라가고 난이도도 많이 줄어듭니다
예를 들어 랭킹 서버를 구현하게 된다면?
Redis는 간편하게 SortedSet을 사용하게 되면 랭킹 서비스를 쉽게 구현할 수 있습니다
Redis의 자료 구조에 관한 자세한 내용은 다음 글에 자료 구조에서 더욱 알아보겠습니다
5. Replication 지원
Redis는 Replication을 지원하여
- 데이터 복제 (Replication)
- 장애 대비 (Failover)
- 읽기 분산 (Read Scaling)
의 기능을 가능하게 합니다
특히 대규모 트래픽 환경에서 Replication을 이용해 여러 아키텍처를 가져가면서 안정적으로 사용할 수 있습니다
마무리
정리해 보면 캐시는 단순히 “빠르게 만들기 위한 기술”이 아닙니다.
캐시는 DB 부하를 줄이고
시스템 전체의 트래픽 구조를 안정적으로 만드는 핵심 설계 요소입니다.
그리고 Redis는
- 빠른 성능
- 간단한 사용성
- 강력한 자료구조
- 높은 확장성
덕분에 현대 백엔드 시스템에서 중요한 인프라 중 하나로 자리 잡았습니다.
다음 글에서는 Redis의 다양한 자료구조와 실무 활용 방법을 정리해 보겠습니다

'🖥️ 컴퓨터 공부 > Redis' 카테고리의 다른 글
| Redis 운영 시 반드시 알아야 할 위험 요소(위험한 명령어 / 메모리 폭발 / 모니터링 / 권장 설정) (1) | 2026.03.21 |
|---|---|
| Redis 영속성 & Failover 정리 (RDB / AOF / Failover) (0) | 2026.03.21 |
| Redis 아키텍처 정리 (Replication / Sentinel / Cluster / Sharding) (0) | 2026.03.20 |
| Redis 캐싱 전략 (0) | 2026.03.20 |
| Redis 자료구조 완전 정리 (실무에서 가장 많이 쓰는 구조들) (0) | 2026.03.20 |