Mise en Cache de la Résolution de Champs
Ajout de la directive @cache au schéma GraphQL, qui stocke le résultat d'un champ sur le disque pendant une durée demandée. Lorsque le même champ est exécuté dans cet intervalle de temps, la valeur mise en cache est renvoyée.
Ajoutez @cache au champ à mettre en cache dans la requête GraphQL, en spécifiant pendant combien de temps (en secondes) le résultat doit être mis en cache.
Cette directive peut améliorer les performances lors de l'exécution d'opérations coûteuses (comme lors d'interactions avec des API externes), car nous pouvons mettre en cache et réutiliser leur réponse.
Exemple
@strTranslate se connecte à l'API Google Translate. En utilisant @cache(time: 10), la valeur traduite du champ title sera mise en cache pendant 10 secondes, et exécuter la même requête à nouveau dans cet intervalle de temps évitera de se connecter à Google Translate, ce qui aboutira à une résolution très rapide.
query {
posts(pagination:{ limit: 3 }) {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}