Response-Caching

Die öffentliche GraphQL-API cacht aufgelöste Antworten standardmäßig. Wird ein Datensatz geschrieben, werden die gecachten Antworten verworfen, die auf ihn verwiesen haben.

Standardmäßig an, für 60 Sekunden

Jedes Modell, das Datensätze hält, cacht 60 Sekunden lang. Eine Wiederholung derselben Query innerhalb dieser Lebensdauer gibt die gespeicherte Antwort zurück, ohne sie erneut aufzulösen. Gewöhnliche Modelle teilen sich einen Eintrag zwischen Aufrufern, die dieselbe Query senden. Modelle, deren Datensätze einen Eigentümer haben, werden pro Eigentümer gecacht.

Invalidierung nach einem Schreibzugriff

Das Erstellen, Aktualisieren, Löschen, Veröffentlichen oder Depublizieren eines Datensatzes verwirft jede gecachte Antwort, die auf ihn verwiesen hat. Eine Listenantwort wird verworfen, wenn ein beliebiger Datensatz der Liste bearbeitet wird, und nicht verwandte Modelle bleiben unberührt. Die Invalidierung läuft nach dem Commit des Schreibzugriffs, sodass eine Leseanfrage für einige Millisekunden noch die vorherige Antwort erhalten kann. Die Lebensdauer ist die Absicherung, falls eine Invalidierung verloren geht, und ist der Cache-Speicher nicht erreichbar, wird der Schreibzugriff trotzdem committet, und die nächste Leseanfrage löst normal auf.

Feinabstimmung und Abwahl

Lebensdauer und Scope werden pro Modell festgelegt, in der Konsole oder in Ihrer Config-Datei unter cacheControl, und ein Modell kann sich ganz abmelden. Eine einzelne Anfrage kann mit einem No-Cache-Header ein frisches Lesen erzwingen. Mutationen und Lesezugriffe auf Entwürfe werden nie gecacht.

Den eigenen Schreibzugriff lesen

Eine Mutationsantwort enthält X-Foir-Write-Token als Header. Senden Sie ihn bei Ihrer nächsten Leseanfrage mit, und der Server liefert einen gecachten Eintrag nur aus, wenn er mindestens so neu ist wie dieser Schreibzugriff.

Manuell leeren

Für Änderungen, die der Schreibpfad nicht sehen kann, leert foir cache purge einen Datensatz, ein Modell oder alles. Eine Refresh-Mutation deckt einen einzelnen Datensatz ab, dessen Inhalt sich in einem anderen System geändert hat.

Details nachlesen

Der Caching-Leitfaden behandelt Cache-Scopes, Einstellungen pro Modell, Request-Header und den gemeinsamen Endpunkt für CDNs.