캐싱필드 해결 캐싱
필드 해결 캐싱
Included in the “Power Extensions” bundle
GraphQL 스키마에 @cache 디렉티브를 추가하여 필드의 결과를 지정한 시간 동안 디스크에 저장합니다. 해당 시간 내에 동일한 필드를 실행하면 캐시된 값이 반환됩니다.
GraphQL 쿼리에서 캐시할 필드에 @cache를 추가하고, 결과를 캐시할 시간(초 단위)을 지정합니다.
이 디렉티브는 외부 API와의 상호 작용 등 비용이 많이 드는 작업을 실행할 때 성능을 향상시킬 수 있습니다. 응답을 캐시하여 재사용할 수 있기 때문입니다.
예시
@strTranslate는 Google Translate API에 연결합니다. @cache(time: 10)을 사용하면 title 필드의 번역된 값이 10초 동안 캐시되며, 이 시간 내에 동일한 쿼리를 다시 실행해도 Google Translate에 연결하지 않으므로 매우 빠른 해결이 실현됩니다.
query {
posts(pagination:{ limit: 3 }) {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}Prev
Next