Caching
CachingCache de Resolução de Campos

Cache de Resolução de Campos

Included in the “Power Extensions” bundle

Adição da diretiva @cache ao schema GraphQL, que armazena em disco o resultado de um campo por um período de tempo solicitado. Ao executar o mesmo campo dentro desse intervalo de tempo, o valor em cache é retornado.

Adicione @cache ao campo que deseja armazenar em cache na query GraphQL, especificando por quanto tempo (em segundos) o resultado deve ficar em cache.

Essa diretiva pode melhorar o desempenho ao executar operações custosas (como ao interagir com APIs externas), pois podemos armazenar em cache e reutilizar suas respostas.

Exemplo

O @strTranslate conecta-se à API do Google Translate. Ao usar @cache(time: 10), o valor traduzido do campo title será armazenado em cache por 10 segundos, e executar a mesma query novamente dentro desse intervalo evitará a conexão com o Google Translate, resultando em uma resolução muito rápida.

query {
  posts(pagination:{ limit: 3 }) {
    id
    title
      @strTranslate(from: "en", to: "es")
      @cache(time: 10)
  }
}