04. NGINX 캐시 입문
구성도
핵심 정리
1) 캐시는 ‘성능 향상’보다 ‘부하 안정화’가 핵심인 경우가 많습니다
- 캐시 HIT가 늘어나면 백엔드 트래픽이 줄어들고, 장애 시에도 ‘버티는 시간’이 길어질 수 있습니다.
- 반대로, 정책 없이 캐시를 켜면 로그인/개인화 화면이 잘못 캐시되어 큰 사고가 날 수 있습니다.
2) 가장 중요한 키워드 3가지
- proxy_cache_path: 캐시 저장소(디스크), keys_zone 메모리 영역, 만료/용량 정책
- proxy_cache_key: 어떤 값을 키로 삼아 캐시를 구분할지
- Vary / Cookie: 사용자별로 다른 응답이 섞이지 않도록 분리 기준을 설계
proxy_cache_path /var/cache/nginx levels=1:2
keys_zone=mycache:10m
max_size=1g
inactive=60m
use_temp_path=off;
server {
location / {
proxy_cache mycache;
proxy_cache_valid 200 10m;
proxy_pass http://backend;
}
}
3) Django/개인화 서비스에서 특히 중요한 설정
# (예시) 개인화 응답을 캐시하지 않도록 조건을 둡니다.
# 실제 서비스에선 쿠키/헤더/경로를 기준으로 더 정교하게 설계하세요.
set $bypass_cache 0;
if ($http_cookie ~* "sessionid") { set $bypass_cache 1; }
proxy_cache_bypass $bypass_cache;
proxy_no_cache $bypass_cache;
참고 링크
'Tech Note > 서버-Nginx' 카테고리의 다른 글
| [실습] 06. 설정 컨텍스트를 통한 http 블록 설정 (0) | 2026.01.04 |
|---|---|
| [실습] 05. split clients로 트래픽 분배 구성 (0) | 2026.01.04 |
| [실습] 03. NGINX 리버스 프록시로 Django 배포 (0) | 2026.01.04 |
| [실습] 02. 정적 파일·멀티 도메인·로컬 DNS 설정 (0) | 2026.01.04 |
| [실습] 01. Docker기반 NGINX + Master/Worker 구조 (0) | 2026.01.04 |