블로그에 AI 기능 붙이기 (3편) - 영구 캐싱으로 비용 99% 줄이기
약 7분 소요
시리즈: 블로그에 AI 기능 붙이기
3 / 3편
- 11편 - 월 35원으로 OpenAI + Netlify Functions
- 22편 - MCP 서버로 Claude 교육시키기
- 33편 - 영구 캐싱으로 비용 99% 줄이기지금 읽는 중
목차
TL;DR
- 문제: 로컬 스토리지 TTL 캐싱으로 같은 코드 설명을 매달 반복 생성 (불필요한 API 비용)
- 원인: 코드는 안 바뀌는데 캐시에 30일 TTL을 걸어서 매달 새로 생성
- 해결: Supabase 영구 캐싱 + hit_count 기반 스마트 정리 시스템
- 효과: API 호출 75% 감소, 응답 속도 10배 향상, 연간 약 $5 절감
- 한계: DB 용량 계속 증가 (6개월마다 수동 정리 필요), Supabase 무료 플랜 500MB 제한
글 머리말
제가 1편에서 AI 코드 설명 기능을 만들 때 로컬 스토리지로 캐싱했었습니다.
간단하고 빠르게 구현할 수 있었거든요. 근데 한 가지 문제가 있었습니다.
독자 A가 “AI 설명” 버튼을 누르면 OpenAI API를 호출합니다(₩0.12). 독자 B가 똑같은 코드에서 버튼을 누르면? 또 API를 호출합니다. 독자 C도, 독자 D도… 계속 호출하는 겁니다.
같은 코드 블록인데 매번 돈을 내고 있었습니다.
솔직히 처음엔 “뭐 얼마나 되겠어”라고 생각했는데, 한 달 지나고 보니 생각보다 비용이 쌓이더군요. 그래서 Supabase를 활용한 영구 캐싱 시스템을 구축하기로 했습니다.
핵심 아이디어는 간단합니다. 블로그에 올린 코드 블록은 절대 바뀌지 않습니다. 그렇다면 AI 설명도 바뀔 이유가 없죠. 한 번 생성한 설명을 영구 보존하면 됩니다. TTL? 필요 없습니다.
이번 포스팅에서는 영구 캐싱 시스템 구축 과정과 실제 운영 결과를 공유합니다. 2주 운영 결과, API 호출을 75% 줄이고 응답 속도를 10배 개선할 수 있었습니다.