Cache benutten voor betere prestaties

De browsercache van een bezoeker moet volledig worden benut voor de bezorging van inhouditems, digitale activa en sites om de prestaties van de bezorging van inhoud en weergave in de browser te verbeteren.

Sites, thema's, inhouditems en digitale activa worden gedurende een bepaalde tijd in de browsercache van de bezoeker opgeslagen. Nadat een site, thema, inhouditem of digitaal activum is bijgewerkt, wordt een cachebustersleutel in de URL gewijzigd, zodat door de browser een andere URL moet worden opgehaald en het nieuwe item wordt opgehaald.

Met de cachesleutel kan het gebruik van de browsercache worden beheerd door alleen te verwijzen naar huidige resources. Hoewel de cachesleutel is opgenomen in de URL, is het een logisch element, geen fysieke locatie (map) zoals vaak het geval is. Een wijziging in de cachesleutel wijst niet naar een andere fysieke locatie om de resource te vinden. Er wordt eenvoudigweg aan de server gemeld dat de huidige versie van de resource moet worden opgehaald.

Resources kunnen statisch zijn, zoals CSS, JS en afbeeldingsbestanden, of dynamisch, zoals paginagegevens, sitegegevens en inhouditemgegevens. Er zijn vijf categorieën resources voor het bouwen van een website:

  • Productresources: resources die deel uitmaken van het product dat wordt bijgewerkt wanneer een nieuwe versie van het product wordt vrijgegeven of gepatcht.

  • Siteresources: resources die deel uitmaken van de site, zoals structure.json, paginagegevens en afbeeldingen. Deze worden bijgewerkt wanneer de site wordt gepubliceerd. De controller wordt in de volgende tekst beschreven.

  • Themaresources: resources die deel uitmaken van de thema's, zoals lay-outs, CSS en afbeeldingen. Deze worden bijgewerkt wanneer het thema wordt gepubliceerd.

  • Componentresources: resources die deel uitmaken van aangepaste componenten. Deze omvatten HTML, JS en CSS, en afbeeldingsbestanden die de component vormen. Deze worden bijgewerkt wanneer een component wordt gepubliceerd. Als één component wijzigt en opnieuw wordt gepubliceerd, wijzigt de cachesleutel voor alle componenten omdat het één sleutel is voor alle componenten.

  • CaaS-resources: resources die inhouditems en digitale items bedienen. Deze worden bijgewerkt wanneer inhouditems worden gepubliceerd of opnieuw worden gepubliceerd of wanneer de doelverzameling wordt gewijzigd.

In de volgende onderwerpen wordt het opslaan in de cache beschreven voor de Oracle Content Management runtime en voor de sitebuilder:

Runtime opslaan in cache

Voor runtimeopslag is de koptekst 'Cache-Control' van Oracle Content Management ingesteld op 15 dagen. Voor alle resources is een cachesleutel toegevoegd aan de URL.

Zolang de URL onveranderd blijft, worden de resources vanuit de lokale cache van de browser beheerd, indien beschikbaar. Als de resource wordt bijgewerkt, wordt de cachesleutel bijgewerkt in de URL. Hierdoor wordt de afgedwongen dat in de browser een nieuwe aanvraag bij de server wordt ingediend en de lokale cache wordt bijgewerkt.

De controller, met behulp waarvan de cachesleutels worden beheerd, wordt gedurende 1 minuut ook in de cache opgeslagen. Om deze reden zijn bijgewerkte cachesleutels gedurende 1 minuut niet zichtbaar.

Tijdens runtime wordt door de server het bestand controller.html geretourneerd dat de meest recente cachesleutels bevat voor product-, site-, thema-, component- en CaaS-resources. Er wordt een script met sleutels toegevoegd aan controller.html, bijvoorbeeld:

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

        };

</script> 

Deze sleutels worden gebruikt door controller.js voor het samenstellen van URL's zoals die in de volgende tabel.

Typen resources Voorbeelden
Productresources
/sitePrefix/productCacheKey/_sitesclouddelivery/...
/mySite/_cache_947d/_sitesclouddelivery/
Themaresources
/sitePrefix/themeCacheKey/_themesdelivery/themeName/...
Componentresources
/sitePrefix/compCacheKey/_compdelivery/compName/...
Siteresources
/sitePrefix/siteCacheKey/content/...
/sitePrefix/siteCacheKey/structure.json
/sitePrefix/siteCacheKey/pages/100.json
CaaS-resources
RegularCaaSUrl?cacheKey=caasCacheKey

Door het invoegen van de cachesleutel in soortgelijke URL's kan in Oracle Content Management worden afgedwongen dat bijgewerkte resources in de browser worden geladen door de URL effectief te wijzigen, zodat het voor de browser lijkt alsof het om een nieuwe resource gaat.

Opmerking:

Bij beveiligde sites worden alleen de product-, thema- en componentresources in de cache opgeslagen, niet de site- of CaaS-inhoud.

De sitebuilder opslaan in de cache

In de sitebuilder blijven statische resources 15 dagen opgeslagen in de cache.

Als u de sitebuilder gebruikt, wordt caching toegepast op product-, thema- en componentresources. (Het is niet van toepassing op site- en CaaS-resources.) Cachesleutels voor thema- en componentresources worden opnieuw gegenereerd wanneer de sitebuilder wordt gestart of vernieuwd.

Als u wijzigingen in een thema of component aanbrengt en wilt dat deze wijzigingen worden weergegeven in de sitebuilder, moet u de sitebuilder vernieuwen (F5).