Cache API
Cache API je značajno unapređen u Drupalu 8. Sledeći odeljci detaljnije objašnjavaju svaku funkcionalnost.
Za kratak pregled, pogledajte i stranicu Cache API u API dokumentaciji.
Metapodaci za keširanje
Sve stvari koje se ili direktno renderuju ili se koriste za određivanje onoga što će se prikazati, obezbeđuju metapodatke za keširanje — od rezultata pristupa do entiteta i URL adresa.
Metapodaci za keširanje sastoje se od 3 svojstva:
- keš tagovi
Za zavisnosti od podataka kojima Drupal upravlja, kao što su entiteti i konfiguracija
- keš konteksti
Za varijante, tj. zavisnosti od konteksta zahteva
- maksimalni vek keša
Za vremenski osetljivo keširanje, tj. vremenske zavisnosti
Praktično: kako obično koristite Cache API
Generalno, vaš kod će završavati renderovanjem objekata (blokova, entiteta itd.), a vaši kontroleri vraćaju render nizove ili odgovore. Zato obično nećete direktno komunicirati sa Cache API-jem. Umesto toga, koristićete:
Render keširanje (takođe poznato kao keširanje fragmenata)
Render API koristi metapodatke za keširanje ugrađene u render nizove za izvršavanje keširanja (ili renderovanja). Zato Cache API ne treba koristiti za interakciju sa render kešom (ni za čitanje ni za kreiranje keš stavki).
Pogledajte Kešabilnost render nizova.
Keširanje odgovora
Metapodaci za keširanje koje koristi Render API (videti prethodni odeljak) propagiraju se do objekata Response (obično HtmlResponse), koji implementiraju CacheableResponseInterface.
Ovi metapodaci omogućavaju Drupalu 8 da isporučuje Page Cache i Dynamic Page Cache module uključene po difoltu, jer im to omogućava transparentan rad: oni su uvek aktuelni i uvek se pravilno osvežavaju.
Pogledajte CacheableResponseInterface.