Utilizarea stocării în cache pentru îmbunătăţirea performanţei

Livrarea elementelor de conţinut, a resurselor digitale şi a site-urilor ar trebui să beneficieze la maximum de memoria cache a browserului unui vizitator. Acest lucru duce la îmbunătăţirea performanţei livrării conţinutului şi a randării în browser.

Site-urile, temele, elementele de conţinut şi resursele digitale sunt stocate pentru o anumită perioadă de timp în memoria cache a browserului vizitatorului. După actualizarea unui site, unui element de conţinut sau unei resurse digitale, o cheie de tip cache-buster din adresa URL este modificată astfel încât browserul trebuie să preia o altă adresă URL şi noul articol.

Cheia cache contribuie la echilibrarea utilizării memoriei cache a browserului, făcând referire doar la resursele existente. Deşi cheia cache este inclusă în adresa URL, aceasta reprezintă un element logic, nu o locaţie fizică (un folder), aşa cum este adesea cazul. O modificare a cheii cache nu determină indicarea spre o altă locaţie fizică pentru căutarea resursei; pur şi simplu serverului i se indică să preia versiunea curentă a resursei în cauză.

Resursele pot fi statice, precum fişierele CSS, JS, şi fişierele de imagini, sau dinamice, precum datele paginilor, datele site-ului şi datele elementelor de conţinut. Există cinci categorii de resurse necesare construirii unui site:

  • Resurse pentru produse – Resursele care fac parte din produsul care este actualizat ori de câte ori este se lansează sau se aplică un patch pentru o versiune nouă a produsului.

  • Resurse pentru site – Resursele care fac parte din site, precum fişierul structure.json, datele paginilor şi imaginile. Acestea sunt actualizate în momentul publicării site-ului. Următorul text descrie controlerul.

  • Resurse pentru temă – Resursele care fac parte din teme, precum machete, foi de stiluri cascadă şi imagini. Acestea sunt actualizate în momentul publicării temei.

  • Resurse pentru componente – Resursele care fac parte din componentele personalizate. Acestea includ fişierele HTML, JS şi CSS, precum şi fişierele de imagine care compun componenta. Acestea sunt actualizate în momentul publicării unei componente. Dacă o componentă este modificată şi republicată, atunci cheia cache se va modifica pentru toate componentele, deoarece există o singură cheie pentru toate componentele.

  • Resurse CaaS – Resursele aferente elementelor de conţinut şi resurselor digitale. Acestea sunt actualizate când elementele de conţinut sunt publicate sau republicate sau când se modifică destinaţia colecţiei.

Următoarele subiecte descriu operaţia de plasare în memoria cache pentru runtime Oracle Content Management şi pentru generatorul de site-uri:

Plasarea în cache la runtime

Pentru runtime, antetul Cache-Control din Oracle Content Management este setat la 15 zile. O cheie de cache este adăugată la URL pentru toate resursele.

Atâta timp cât URL-ul este acelaşi, browserul va servi resursa din cache-ul local, dacă aceasta este disponibilă. Atunci când resursa este actualizată, cheia de cache este actualizată în URL, iar acest lucru obligă browserul să lanseze o nouă solicitare către server şi să actualizeze cache-ul local.

Controlerul, care conţine cheile de cache, este de asemenea plasat în cache timp de un minut. Din acest motiv, timp de până la un minut, cheile de cache actualizate nu vor fi văzute.

La runtime, serverul returnează fişierul controller.html cu cele mai recente chei de cache pentru produs, site, temă, componente şi pentru resursele CaaS. Un script cu chei este adăugat la fişierul controller.html; de exemplu:

<script type="text/javascript">
        var SCSCacheKeys = {
                        product: '123',
                        site: '456',
                        theme: '789',
                        component: '012',
                        caas: '345'

        };

</script> 

Aceste chei sunt utilizate de către controller.js pentru a construi URL-uri precum cele din următorul table.

Tip de resurse Exemple
Resurse produse
/sitePrefix/productCacheKey/_sitesclouddelivery/...
/mySite/_cache_947d/_sitesclouddelivery/
Resurse teme
/sitePrefix/themeCacheKey/_themesdelivery/themeName/...
Resurse componente
/sitePrefix/compCacheKey/_compdelivery/compName/...
Resurse site-uri
/sitePrefix/siteCacheKey/content/...
/sitePrefix/siteCacheKey/structure.json
/sitePrefix/siteCacheKey/pages/100.json
Resurse CaaS
RegularCaaSUrl?cacheKey=caasCacheKey

Prin inserarea de chei de cache în astfel URL-uri, Oracle Content Management poate forţa browserul să încarce resurse actualizate, schimbând în mod eficient URL-ul, astfel încât browserul să considere că este vorba despre o nouă resursă.

Notă:

În cazul site-urilor securizate, numai resursele care ţin de produs, temă şi componentă sunt plasate în cache, nu şi site-ul sau conţinutul CaaS.

Plasarea în cache pentru Generatorul de site-uri

În Generatorul de site-uri, resursele statice sunt plasate în cache pentru 15 zile.

Atunci când utilizaţi Generatorul de site-uri, plasarea în cache are loc pentru produs, temă şi resursele componentelor. (Aceasta nu are loc pentru site şi pentru resursele CaaS.) Cheile de cache ale temei şi componentei sunt regenerate atunci când Generatorul de site-uri este lansat sau reîncărcat.

Dacă modificaţi o temă sau o componentă şi doriţi ca modificarea să apară în Generatorul de site-uri, trebuie să reîncărcaţi Generatorul de site-uri (F5).