Cacheo de Resolución de Campos
Adición de la directiva @cache al esquema GraphQL, que almacena el resultado de un campo en disco durante el tiempo solicitado. Cuando se ejecute el mismo campo dentro de ese intervalo de tiempo, se devolverá el valor cacheado.
Añade @cache al campo que quieres cachear en la consulta GraphQL, especificando durante cuánto tiempo (en segundos) debe cachearse el resultado.
Esta directiva puede mejorar el rendimiento al ejecutar operaciones costosas (como cuando se interactúa con APIs externas), ya que podemos cachear y reutilizar su respuesta.
Ejemplo
@strTranslate se conecta a la API de Google Translate. Al usar @cache(time: 10), el valor traducido del campo title se cacheará durante 10 segundos, y ejecutar la misma consulta de nuevo dentro de este intervalo de tiempo evitará conectar con Google Translate, lo que resultará en una resolución muy rápida.
query {
posts(pagination:{ limit: 3 }) {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}