Cache der Feldauflösung
Hinzufügen der Direktive @cache zum GraphQL-Schema, die das Ergebnis eines Feldes für eine bestimmte Zeitspanne auf dem Datenträger speichert. Wird dasselbe Feld innerhalb dieser Zeitspanne erneut ausgeführt, wird der gecachte Wert zurückgegeben.
Füge @cache zu dem Feld hinzu, das du in der GraphQL-Query cachen möchtest, und gib an, wie lange (in Sekunden) das Ergebnis gecacht werden soll.
Diese Direktive kann die Performance bei der Ausführung aufwendiger Operationen verbessern (z. B. bei der Interaktion mit externen APIs), da wir deren Antwort cachen und wiederverwenden können.
Beispiel
@strTranslate stellt eine Verbindung zur Google Translate API her. Durch die Verwendung von @cache(time: 10) wird der übersetzte Wert des Felds title für 10 Sekunden gecacht. Wird dieselbe Query innerhalb dieser Zeitspanne erneut ausgeführt, wird keine Verbindung zu Google Translate aufgebaut, was zu einer sehr schnellen Auflösung führt.
query {
posts(pagination:{ limit: 3 }) {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}