De meerwaarde van cachingHet belang en nut ervan
Wie al eens is gaan snuisteren in de instellingen van je browser, kwam zeker de term "Cache" tegen. Gebruik maken van deze cache noemen we caching. Maar wat houdt dat precies in en wat is de meerwaarde hiervan? We leggen het graag even aan je uit.
Wat is caching?
Caching is een techniek die gebruikt wordt op verschillende niveau’s maar steeds hetzelfde doel heeft: je site sneller maken. Dit kan op twee niveau’s: door browser caching en door server caching. Dit artikel focust op het server niveau.
Binnen server side caching bestaan er verschillende technieken en libraries. Zo kunnen zowel volledige html pagina’s gecached worden via bv Varnish, of kunnen er specifieke requests gecached worden adv Memcached of Redis. Onze voorkeur gaat uit naar de laatste vanwege het gebruiksgemak.
Een website heeft doorgaans honderden of duizenden bezoekers per dag. De content die deze gebruikers bekijken is vaak hetzelfde, bijvoorbeeld de homepage. In plaats van elke request afzonderlijk te behandelen, zal caching ervoor zorgen dat het resultaat van de request wordt onthouden en bij een volgende consultatie onmiddellijk wordt teruggegeven. Dit resulteert in een aanzienlijke snelheidswinst.
Niet alles kan opgelost worden door het optimaliseren van je database structuur & queries
Hoe werkt caching?
In een klassiek verhaal heb je een api die rechtstreeks de database aanspreekt. Bij een grote dataset of complexe bewerkingen kunnen deze calls behoorlijk intensief worden waardoor de laadtijd van je pagina oploopt. Bovendien wordt veel data voor elke gebruiker opnieuw opgehaald zoals een dropdown navigatie, de laatst toegevoegde producten, enz. …
Indien je gebruik maakt van een caching techniek, zoals Redis, voorzie je eigenlijk een laag tussen je api en de database waarbij in het geheugen van de server ruimte wordt voorzien om data te gaan opslaan.
Wanneer gebruiker A bijvoorbeeld de laatst toegevoegde producten wil bekijken dan zal eerst het geheugen geraadpleegd worden. Indien deze informatie niet kan gevonden worden in deze cache, wordt dit opgehaald uit de database en het resultaat daarvan wordt onmiddellijk opgeslagen in het geheugen.
Wanneer vervolgens gebruiker B diezelfde producten wil bekijken, zal de data wél uit het geheugen kunnen opgehaald worden wat een stuk sneller is.
De data wordt voor een bepaalde periode opgeslagen in het geheugen, bijvoorbeeld 5 minuten of een uur. Alle gebruikers die gedurende die periode dezelfde data willen raadplegen profiteren van de snelheid die de cache biedt.
Voordelen van caching
De grote meerwaarde van caching is uiteraard de snelheidswinst die het met zich meebrengt. In de eerste plaats voor de gebruiker van je website maar ook voor de SEO waarde van je site omdat deze snelheid wordt opgenomen in het algoritme van Google.
Een tweede grote voordeel is dat de server een stuk performance wordt en piekmomenten in de bezoekersaantallen beter de baas kan. Aangezien de database minder vaak rechtstreeks wordt aangesproken wordt deze minder zwaar belast en zal de server stabieler worden.
Nadeel van caching?
Een mogelijk nadeel van het gebruik van een caching binnen je website is dat de data niet 100% live is. Het is echter de verantwoordelijkheid van het dev team om de juiste keuzes te maken in welke data gecached kan worden en voor hoe lang.
Interesse om je site razendsnel te maken?
Contacteer onsCaching gebruiken?Conclusie
Het mag duidelijk zijn: als het komt op caching, wegen de voordelen veel harder door dan de nadelen. Zeker bij complexe sites en webshops is het een must have die de snelheid verbetert en daarmee dus ook de gebruikerservaring.