피드로 돌아가기
The Cache Belongs to the Function
Dev.toDev.to
Frontend

Framework 종속성을 제거한 Function-level Cache 설계를 통한 이식성 확보

The Cache Belongs to the Function

Viktor Lázár2026년 4월 29일16advanced

Context

기존 프레임워크의 Default Caching 전략이 실제 프로덕션 환경의 동적 데이터 요구사항과 충돌하며 설정 복잡도를 증가시킨 상황. 특히 Caching Primitive의 위치가 Renderer에 종속됨에 따라 프레임워크 외부 환경에서의 재사용성과 라이브러리 수준의 최적화가 불가능한 구조적 한계 존재.

Technical Solution

  • Cache를 Rendering Pipeline의 일부가 아닌 Function 자체의 Property로 정의하는 설계 채택
  • Function의 Input을 Key로, Output을 Value로 정의하는 Atomic한 Caching Contract 수립
  • Renderer의 개입 없이 Runtime 간 이동이 가능한 Portable한 Cache 구조 설계
  • Framework Booting 이전 단계인 Edge 및 Browser 환경에서도 동작 가능한 독립적 Primitive 구현
  • 특정 프레임워크의 Streaming Shell이나 Suspense 기능과 분리하여 범용적인 Memoization 기능 확보
  • 라이브러리 의존성 없이 함수 단위의 데이터 정합성을 보장하는 Local Inspection 구조 적용

1. Caching 로직이 특정 UI 프레임워크의 렌더링 생명주기에 강하게 결합되어 있는지 확인

2. 비즈니스 로직을 포함한 함수가 Renderer 없이 독립적인 환경(Edge, Worker)에서도 동일한 캐싱 동작을 수행하는지 검토

3. 라이브러리 형태로 제공될 기능의 경우, 프레임워크 API 대신 언어 수준의 Primitive나 런타임 계약을 통한 캐싱 구조 고려

원문 읽기