Wat is caching en waarom is dit belangrijk

07-01-2020

U heeft hoogstwaarschijnlijk al eens van caching services zoals Memcached, Redis of LSCache gehoord, in dit blog leggen wij uit wat caching nou precies is en waarom het zo belangrijk is voor de laadsnelheid van een website

Wat is caching?

Om duidelijk te kunnen maken wat caching precies is moet eerst duidelijk zijn hoe een website geladen wordt: Wanneer een website bezocht wordt via een browser dan wordt deze opgevraagd bij de webserver waar de website op gehost is. Op het moment dat de webserver het verzoek binnenkrijgt om de website naar de browser te sturen dan start het laden van de website.

Zonder caching wordt de code van de website van de harde schijf van de webserver gehaald. Vervolgens wordt deze code door de webserver verwerkt, eventueel in combinatie met data uit een database en naar de browser gestuurd. Doordat de server deze data eerst moet ophalen van de harde schijf en ook nog moet verwerken duurt dit even. 

Daarom is caching ontwikkeld, wanneer gebruik gemaakt wordt van caching dan wordt de data niet van de harde schijf maar uit het veel snellere geheugen van de server gehaald. Daarnaast wordt bij geavanceerde caching methodes niet de code en data uit de database in het geheugen van de server geplaatst maar het resultaat hiervan. Hierdoor hoeft de server de code niet te verwerken en kan de data direct uit het snelle geheugen van de server gehaald worden.

Verschillende caching services

De meest bekende caching services zijn Memcached, Redis en LScache. Al deze methodes hebben bepaalde voor en nadelen.

Bij Memcached worden, simpel gezegd, grote delen van de code van een website in het geheugen geladen. Het voordeel hiervan is dat bijvoorbeeld aanpassingen in de database direct zichtbaar zijn. Daarnaast kan Memcached gebruikmaken van meerdere CPU cores voor het verwerken van de data, hierdoor kan er meer processorkracht gebruikt worden voor het cachen.

Redis kan data geavanceerder opslaan dan Memcached, zo kunnen meer eigenschappen van data meegenomen worden in de cache en kan ook data uit een database opgeslagen worden in het geheugen. Redis kan momenteel maar 1 CPU core tegelijk gebruiken. In de praktijk zorgt dit zelden voor problemen, alleen bij hele grote websites kan dit voor capaciteitsproblemen zorgen.

LSCache is een full page caching methode, dit betekent dat alle data van een website in het geheugen wordt opgeslagen. Doordat de code niet meer omgezet hoeft te worden kan een website zeer snel geladen worden. Daarnaast werkt LSCache samen met de LiteSpeed webserver, door deze samenwerking kan de data sneller verzonden worden naar de browser.

Cache combineren

LSCache werkt samen met andere caching methodes voor object cache. Object cache houd in dat informatie uit een database in het geheugen van de server wordt geladen. Wanneer data uit de database wordt opgevraagd dan wordt eerst geprobeerd om deze data direct uit het geheugen te halen. Hierdoor kan de full page cache van LSCache veel sneller en effectiever opgebouwd worden. 

Browser cache

Naast caching aan de server kant is er ook nog caching in de browser mogelijk. Wanneer data reeds aanwezig is in de browser dan hoeft deze niet opgehaald te worden van de server. Doordat alleen de benodigde data wordt verstuurd kunnen pagina’s nog sneller geladen worden.

WordPress en caching

Websites welke gebouwd worden met WordPress bevatten vaak code uit verschillende plugin’s. Daarnaast wordt bij een WordPress website een groot gedeelte van de data in een database opgeslagen. Daarom kan de juiste caching voor een grote snelheidsverbetering zorgen. Onze WordPress Webhosting pakketten worden geleverd met LiteSpeed Webserver en LSCache, hiermee zien wij websites tot wel 50 keer sneller laden. 

Snelheid is belangrijk

Zoals wij in ons eerdere blogbericht over snelheid al hebben aangegeven is de snelheid van uw website belangrijk om bezoekers te behouden. De juiste caching kan dus voor een lagere bounce-rate zorgen waardoor u meer bezoekers op uw website krijgt. 

 

Heeft u vragen over de caching? Neem dan contact met ons op!