Server caching
Wat houdt server caching in?
Server caching is het bewaren van resultaten op de server zelf, zodat die niet bij elk verzoek opnieuw hoeft te rekenen. Het is een verzamelnaam voor technieken die op verschillende niveaus werken. Ze hebben één ding gemeen: het werk dat de server doet, wordt één keer gedaan en daarna hergebruikt.
Bij webhosting draaien vaak meerdere websites op dezelfde server. Hoe slimmer de server kan bewaren, hoe minder werk hij per bezoek hoeft te doen. Dat komt de snelheid van de site ten goede en houdt de server beter bruikbaar bij drukte.
De drie belangrijkste vormen van servercaching
Er zijn drie veelgebruikte vormen, die elk op een eigen niveau werken:
- Paginacache: een complete HTML-pagina wordt opgeslagen, zodat PHP en de database niet bij elk bezoek draaien. Zie wat paginacaching is.
- Objectcache: de resultaten van databasequery's worden in het geheugen bewaard. Zie wat objectcaching is.
- Opcode-cache: gecompileerde PHP-code wordt bewaard, zodat die niet elke keer opnieuw hoeft te worden verwerkt. Zie wat OPcache doet.
Deze vormen kunnen los van elkaar werken en elkaar aanvullen.
Waarom servercaching vooral dynamische sites helpt
Een statische website, met vaste HTML-bestanden, heeft weinig aan servercaching. Die bestanden zijn al klaar. Het verschil maakt het bij dynamische sites, zoals een WordPress-website of een webshop. Daar bouwt de server elke pagina op uit sjablonen, instellingen en gegevens uit een database. Dat kost tijd en rekenkracht, ook als de inhoud hetzelfde blijft.
Met servercaching hoeft dat werk niet bij elk bezoek. Een pagina die vaak wordt bekeken, kan zo één keer worden opgebouwd. Dat maakt de site stabieler bij piekmomenten, zoals na een nieuwsbericht of een actie.
Wat zijn de grenzen van servercaching?
Servercaching is niet gratis. Het kost geheugen en opslagruimte op de server. Bovendien moet een cache worden ververst wanneer de inhoud verandert, anders ziet een bezoeker een verouderde versie. Veel cachingsystemen hebben daarvoor een verlooptijd of een manier om de cache te legen.
Daarnaast werkt caching niet voor alles. Pagina's met persoonlijke inhoud, zoals een winkelwagen, moeten buiten de cache blijven. Wat je wel en niet kunt cachen, verschilt per website en per pakket. Vraag je hoster welke vormen van servercaching beschikbaar zijn en of die werken met jouw CMS.
Veelgestelde vragen
Merk ik als bezoeker iets van servercaching?
Meestal merk je het vooral aan de snelheid. Een pagina die al klaarstaat, verschijnt sneller, zeker op een druk moment. Je ziet niet direct of er gecached wordt. Wel kun je soms zien dat een wijziging pas na een tijdje zichtbaar wordt, wat wijst op een cache met een verlooptijd.
Is servercaching hetzelfde als browsercache?
Nee. Servercaching staat op de server van je hosting en helpt die server om pagina's sneller klaar te zetten. Browsercache staat op het apparaat van de bezoeker en bepaalt wat die lokaal bewaart. Beide lagen werken goed samen, maar je beheert ze op een andere plek en ze hebben elk hun eigen verlooptijd.