Wat is caching?

Bij caching worden data en gegevens tijdelijk opgeslagen in een cache zodat deze data sneller geladen kunnen worden. Wanneer het lang duurt voor bepaalde pagina's van je website laden, kan dit opgelost worden met caching. Er zijn twee soorten caching: page caching en object caching

 

 

Object caching

Met object caching worden er bepaalde resultaten opgeslagen in het geheugen. Dat wilt zeggen dat je minder lang moeten wachten omdat de output rechtstreeks uit het memory wordt gehaald. Bepaalde resultaten kan je gebruiken in PHP om het proces sneller te laten lopen.

Hiervoor bestaat ook tooling zoals Redis of Memcached waar je via het CMS zelfs volledige resultaten van de MySQL query in kan opslaan.

Object caching is vrij makkelijk te integreren, want de integratie is vaak al voorzien in het CMS. Op die manier kan je vrij eenvoudig een tool als Redis of Memcached opvullen met bepaalde objecten of resultaten.

Page caching

Met page caching worden, zoals de naam het zegt, volledig pagina's in het geheugen opgeslagen. Een bekende tool hiervoor is Varnish. Varnish zal een hash nemen van de url's samen met de cookies en zal die opslaan in het memory. Wanneer een volgende gebruiker dezelfde pagina opvraagt moet er niets meer in PHP of MySQL gebeuren want komt de pagina rechtstreeks uit het geheugen.

Page caching is iets moeilijker om te integreren want je moet hierbij rekening houden met bijvoorbeeld headers en sessies. Het is wel de meest performante oplossing omdat je geen rekening meer moet houden met PHP en MySQL, wat maakt dat pieken op de website perfect opgevangen kunnen worden.

Welke soort caching kies ik?

Met object caching kan je al vrij snel aan de slag maar maar page caching kan je moeilijk toepassen zonder eerst te object cachen. Want, stel dat je enkel page caching toepast, dan zal de eerste gebruiker op je website erg lang moeten wachten voor de resultaten geladen worden. Bij de tweede gebruiker is dat probleem verholpen, maar het is geen ideale situatie. Dit onstabiel gedrag kan je vermijden door eerst object caching toe te passen.

Wat moet je cachen?

Om zeker te zijn welke resultaten je moet cashen kan je tooling gebruiken zoals New Relic, omdat je daar heel duidelijk in kan analyseren welke operaties er net traag gaan: een query, een pagina, bepaalde templates? Die kan je vervolgens cachen en opnieuw de resultaten onderzoeken.

De conclusie? Je kan blijven optimaliseren, blijven cachen, totdat je website oneindig snel is!

 

Contactgegevens

+32 (0)89 449130 Kunstlaan 18/4
3500 Hasselt, België

BTW: BE0890 439 412
IBAN: BE73 6451 0290 9860
BIC: JVBABE22

Hulp nodig met caching?

Onderwerp