Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
För REST-slutpunkter kan du påverka hur Data API Builder (DAB) använder sin interna frågeresultatcache med begärandehuvudet Cache-Control .
Viktigt!
Om cachelagring är inaktiverat i körningskonfigurationen ignoreras dessa direktiv och frågor körs normalt.
Cache-Control värden som stöds
| Värde | Beteende |
|---|---|
no-cache |
Tvingar DAB att kringgå både L1- och L2-cacheminnen, hämta nya data från databasen och uppdatera cacheminnena med det nya resultatet. |
no-store |
Säger till DAB att inte cachelagrat svaret alls (lagrar inte i L1 eller L2 och försöker inte hämta från cacheminnet). |
Beteende
- Direktivmatchning är skiftlägeskänsligt.
- DAB tolkar inte andra standarddirektiv
Cache-Controlsom max-age eller max-stale. - Gäller endast för REST-frågeåtgärder. Används inte för cachedirektiv på GraphQL-begärandenivå.
- Http-huvudvärdena för Cache-Control begäran styr både L1- och L2-cachen.
Anmärkning
DAB ställer inte in svarshuvuden för cachekontroll för någon cacheåtgärd.
Direktiv: ingen cache
Tvingar fram en ny läsning och uppdaterar cachelagren.
Begäran
GET /api/Books
Cache-Control: no-cache
Accept: application/json
Svar (exempel)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Effekt: Cachen innehåller nu det här nya resultatet (med förbehåll för konfigurerad TTL).
Direktiv: ingen butik
Använder ett befintligt cachelagrat värde om det finns. frågar annars databasen men fyller inte i (eller uppdaterar) cacheminnet med det nya resultatet.
Begäran
GET /api/Books
Cache-Control: no-store
Accept: application/json
Svar (exempel)
HTTP/1.1 200 OK
Content-Type: application/json
[
{ "id": 1, "title": "The Hobbit" },
{ "id": 2, "title": "The Silmarillion" }
]
Effekt: Om det här resultatet inte redan har cachelagrats lagras det inte. En senare only-if-cached begäran kan misslyckas om ingen tidigare begäran fyllde cacheminnet.
Review
- Använd
no-cachenär du behöver framtvinga en uppdatering från databasen och även uppdatera cacheminnet. - Använd
no-storenär du vill ha data men inte vill att det här svaret ska ändra cacheminnet (även om det kan läsa ett befintligt cachelagrat värde). - Utelämna huvudet för normalt cachelagringsbeteende.