서비스 응답이 느릴 때, 대부분은 DB가 병목에 빠져있기 때문일 것이다.
그럴 때 등장하는 솔루션이 바로 캐시다.
AWS에서 캐시를 쉽게 관리하고 성능을 극대화하고 싶다면?
바로 ElastiCache다.


AWS ElastiCache는 AWS에서 제공하는 완전관리형(fully managed) 인메모리 캐시 서비스다.
DB나 백엔드 스토리지에 접근하지 않고 자주 쓰는 데이터는 메모리(RAM)에 캐시해서 처리 속도를 높인다.
| 항목 | 설명 |
|---|---|
| 저장 위치 | 디스크 ❌ → 메모리(RAM) ✅ |
| 장점 | 빠른 읽기/쓰기 |
| 단점 | 휘발성 (전원 꺼지면 데이터 소멸) |
| 주요 엔진 | Redis, Memcached 등 |

| 항목 | Redis | Memcached |
|---|---|---|
| 멀티스레드 | ❌ 싱글 스레드 | ✅ 멀티 스레드 |
| 데이터 구조 | ✅ 리스트, 셋, 해시, 정렬셋 등 | ❌ 키-값 문자열만 |
| 보안 (암호화, 인증) | ✅ 지원 | ❌ 미지원 |
| 영구 저장 | ✅ S3에 Snapshot 백업 가능 | ❌ 불가 |
| 고가용성 (Multi-AZ) | ✅ 가능 | ❌ 불가 |
| 자동 페일오버 | ✅ 지원 | ❌ 미지원 |
| 사용 사례 | 세션 관리, pub/sub, 복잡한 구조 필요 | 단순한 키-값 캐시 |
| 확장성 | 수평/수직 확장 가능 | 수평 확장 위주 |
| 대표 키워드 | 기능 많음, 안전 | 가볍고 빠름 |
ElastiCache는 단순히 빠른 저장소가 아니라, 어떻게 쓰느냐가 중요하다.
대표적인 캐싱 전략 두 가지는 다음과 같다.
🔥 캐시 관련 문제는 대부분 세션 관리, 성능 개선, 고가용성과 연결된다.
| 문제 유형 | 기억할 것 |
|---|---|
| 세션을 영구적으로 보관하면서 빠르게 접근하고 싶다 | ✅ ElastiCache Redis Multi-AZ |
| 높은 일관성이 필요하고, 성능도 고려해야 한다 | ✅ Write-Through 캐싱 |
| 요청이 있을 때만 캐시를 채우고 싶다 | ✅ Cache-Aside |
| 단순 캐싱만 필요하고 관리도 간단하게 하고 싶다 | ✅ Memcached |
| Redis vs Memcached 구분 | Redis는 기능 많고 안전 / Memcached는 가볍고 빠름 |
❌ Memcached는 Multi-AZ나 백업 기능이 없으므로 중요한 데이터나 세션 저장엔 부적합
실무에서 속도가 중요할 땐 DB 튜닝보다 ElastiCache 한 줄이 더 빠를 수 있다.
끝!