Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Für REST-Endpunkte können Sie beeinflussen, wie der Daten-API-Generator (DAB) seinen internen Abfrageergebniscache mit dem Cache-Control Anforderungsheader verwendet.
Von Bedeutung
Wenn die Zwischenspeicherung in der Laufzeitkonfiguration deaktiviert ist, werden diese Direktiven ignoriert, und Abfragen werden normal ausgeführt.
Unterstützte Cache-Control Werte
| Wert | Verhalten |
|---|---|
no-cache |
Erzwingt DAB, sowohl L1- als auch L2-Caches zu umgehen, frische Daten aus der Datenbank abzurufen und die Caches mit dem neuen Ergebnis zu aktualisieren. |
no-store |
Weist DAB an, die Antwort überhaupt nicht zwischenzuspeichern (speichert nicht in L1 oder L2 und versucht nicht, aus dem Cache abzurufen). |
Verhalten
- Bei der Direktive wird die Groß-/Kleinschreibung nicht beachtet.
- DAB interpretiert keine anderen Standarddirektiven
Cache-Controlwie Max-Age oder Max-Stale. - Gilt nur für REST-Abfragevorgänge. Wird nicht für GraphQL-Cachedirektiven auf Anforderungsebene verwendet.
- Die Cache-Control ANFORDERUNGs-HTTP-Headerwerte steuern sowohl den L1- als auch den L2-Cache.
Hinweis
DAB legt keine Cachesteuerelement-Antwortheader für einen Cachevorgang fest.
Direktive: no-cache
Erzwingt eine neue Lese- und Aktualisierung der Cacheebenen.
Anfrage
GET /api/Books
Cache-Control: no-cache
Accept: application/json
Antwort (Beispiel)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Effekt: Cache enthält jetzt dieses frische Ergebnis (vorbehaltlich der konfigurierten TTL).
Direktive: no-store
Verwendet einen vorhandenen zwischengespeicherten Wert, wenn vorhanden; andernfalls fragt die Datenbank ab, füllt den Cache aber nicht mit dem neuen Ergebnis auf (oder aktualisiert).
Anfrage
GET /api/Books
Cache-Control: no-store
Accept: application/json
Antwort (Beispiel)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Effekt: Wenn dieses Ergebnis noch nicht zwischengespeichert wurde, wird es nicht gespeichert. Eine spätere only-if-cached Anforderung konnte fehlschlagen, wenn keine frühere Anforderung den Cache aufgefüllt hat.
Review
- Verwenden Sie
no-cachediesen Vorgang, wenn Sie eine Aktualisierung aus der Datenbank erzwingen und auch den Cache aktualisieren müssen. - Verwenden Sie
no-storediese Option, wenn Sie die Daten verwenden möchten, diese Antwort aber nicht möchten, um den Cache zu ändern (obwohl er möglicherweise einen vorhandenen zwischengespeicherten Wert liest). - Lassen Sie den Header für normales Zwischenspeicherungsverhalten aus.