Caching
표준 HTTP 캐싱을 통해 클라이언트 측 또는 클라이언트와 서버 사이의 중간 단계(CDN 등)에서 GraphQL 응답을 캐시합니다.

Click to watch tutorial video - 05:30
HTTP 캐싱을 GraphQL 응답에 적용하고, 비용이 많이 드는 작업의 결과를 캐시함으로써 애플리케이션의 성능을 향상시킬 수 있습니다.
Cache Control
HTTP 캐싱을 사용하여 GraphQL 쿼리의 응답에 Cache-Control 헤더와 max-age 값을 전송하고, 응답을 캐시할 기간을 지정합니다.
Cache Control 확장 기능은 Cache Control 목록을 제공하며, 필드와 디렉티브에 사용자 정의 max-age 값을 정의할 수 있습니다.
응답의 max-age 값은 쿼리에 포함된 필드와 디렉티브를 기반으로 GraphQL 엔진이 자동으로 계산합니다.

필드 해석 캐싱
GraphQL 스키마에 @cache 디렉티브를 추가하여 필드의 결과를 지정한 시간 동안 디스크에 저장합니다. 해당 시간 내에 동일한 필드를 실행하면 캐시된 값이 반환됩니다.
이 디렉티브는 외부 API와의 상호작용 등 비용이 많이 드는 작업을 실행할 때 성능을 향상시킬 수 있습니다. 응답을 캐시하고 재사용할 수 있기 때문입니다.
query {
posts {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}