Vercel이 함수, 라우팅 미들웨어, 빌드 사이에서 데이터를 공유하는 Runtime Cache API를 공개했다. 동일 리전 내 ephemeral 캐시로, getCache() API와 TTL·태그 기반 무효화를 지원한다.
핵심 포인트- getCache()로 캐시 인스턴스를 획득하고 get()/set() 메서드로 데이터를 저장·조회한다.
- set() 시 TTL(초 단위)과 태그를 지정해 세밀한 만료·무효화 제어가 가능하다.
- 함수, 라우팅 미들웨어, 빌드 간 동일 리전 내에서 캐시를 공유한다.
- Observability 대시보드 Runtime Cache 탭에서 히트율, 무효화 패턴, 저장량을 모니터링할 수 있다.
- 리전별 읽기/쓰기 사용량에 따라 과금된다.
상세 정리- 배경: 기존 Vercel Data Cache(unstable_cache, fetch caching)는 Next.js 13+ 베타로 청구 없으나, 함수·미들웨어·빌드 간 일반적인 데이터 공유 레이어가 없었다.
- 지원 범위: Functions, Routing Middleware, Builds 간 데이터를 동일 리전 내에서 공유할 수 있다.
- API — getCache(): 캐시 인스턴스를 획득한다.
- API — get(key): 캐시된 값을 조회한다.
- API — set(key, value, { ttl, tags }): TTL(초)과 태그를 지정해 캐시를 저장한다.
- 태그 기반 무효화: 태그를 지정하면 특정 그룹의 캐시 항목을 한 번에 무효화할 수 있다.
- 모니터링: Observability 대시보드 Runtime Cache 탭에서 조회 성공률, 무효화 패턴, 저장 용량을 확인한다.
- 과금: 리전별 읽기/쓰기 사용량 기준이며, Vercel Data Cache는 베타 단계로 현재 청구되지 않는다.
왜 읽나함수·미들웨어 간 빠른 데이터 공유가 필요한 Vercel 사용자가 신규 캐시 레이어의 API 사용법과 과금 구조를 확인할 때 유용하다.