적재 주기와 캐시 계층 선택
상태
승인
후보군
| 방안 | 설명 |
|---|
| 자정 1배치 + cache-first 3계층 | 00:00 KST 사전 적재, 조회는 Redis(L1)→MySQL(L2)→ML(L3) |
| 조회 시점 lazy 캐싱만 | 사전 적재 없이 첫 조회 때만 ML 호출·캐싱 |
| Redis 단일 캐시 | MySQL 없이 Redis TTL 캐시만 |
결정
자정 1배치 사전 적재 + Redis(L1)·MySQL 스냅샷(L2)·ML(L3) cache-first.
결정 이유
- 첫 화면은 관심종목 시그널을 마운트 시 자동 조회한다. lazy 캐싱만 두면 매일 첫 사용자가 N회 claude 비용을 떠안고, Redis TTL(10분) 만료 후에도 다시 발생한다. 자정 사전 적재는 그 비용을 1일 1회로 고정한다.
- 시그널 입력(뉴스 감성·일봉 모멘텀)은 사실상 일 단위로 갱신되는 정보다. 분 단위 최신성이 필요한 사용자는 수동
refresh로 해결한다.
- MySQL을 L2로 두면 Redis 재시작·TTL 만료 후에도 claude 없이 서빙된다(“MySQL 영속화” 요구 충족). Redis는 L1로 남겨 핫패스 지연을 줄인다.
검토 대안
| 방안 | 기각 이유 |
|---|
| lazy 캐싱만 | 매일 첫 진입·TTL 만료마다 claude N회, 비용 예측 불가 |
| Redis 단일 | 재시작·만료 시 유실 → claude 재호출, 영속화 요구 미충족 |
트레이드 오프
| 구분 | 내용 |
|---|
| 득 | claude 비용 1일 1회로 고정, 낮 조회 비용 0, 재시작 내성 |
| 실 | 장중 시그널 최신성 지연(수동 refresh로 보완), 캐시 계층 3단 복잡도 |