Caching is de aanpak waarbij je een kopie van data of een resultaat opslaat zodat je het kunt hergebruiken, in plaats van steeds hetzelfde werk te doen. Het eerste verzoek doet het zware werk. Elk verzoek daarna krijgt het opgeslagen antwoord vrijwel meteen, en dat is precies waarom caching een van de simpelste manieren is om software snel te laten voelen.

Stel je een bibliothecaris voor die tien keer per dag om hetzelfde populaire boek wordt gevraagd. In plaats van elke keer naar de verre opslagruimte te lopen, houdt ze een exemplaar op de balie. De eerste keer is traag, de volgende negen keer gaat het meteen. Dat exemplaar op de balie is een cache. Browsers doen dit met afbeeldingen en scripts, API’s doen het met veelgevraagde antwoorden, en servers doen het met databaseresultaten.

Caching zit op bijna elk niveau van een systeem. De browser bewaart statische bestanden, een content delivery network bewaart pagina’s dicht bij elke bezoeker, en de applicatie bewaart dure queryresultaten in het geheugen. Een productpagina die 300 milliseconden kost om uit de database op te bouwen, kan uit een cache in minder dan 10 milliseconden geleverd worden. Vermenigvuldig dat met duizenden bezoekers en de winst is enorm.

De valkuil is de kopie eerlijk houden. Verandert de originele data terwijl de cache nog de oude versie levert, dan zien mensen verouderde informatie. Daarom krijgt een cache meestal een vervaltijd, of wordt hij geleegd zodra de bron verandert. Prijzen en voorraadstanden zijn de klassieke plekken waar een slordige cache je opbreekt. Goede caching heeft altijd een regel voor wanneer er ververst moet worden, en daar verdient een bewuste cachinglaag zich terug.

Bij TopDevs voegen we caching toe waar het verschil maakt, zodat de site of app van een klant snel blijft onder druk zonder verouderde informatie te tonen.