적재 주기와 캐시 계층 선택

상태

승인

후보군

방안설명
자정 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단 복잡도