Het verschil tussen Redis, Memcached en Varnish

14 februari 2020

Het verschil tussen Redis, Memcached en Varnish

Het is voor bezoekers belangrijk dat je website snel geladen wordt. Een trage website wordt zo weer weggeklikt. Zonde, want zo loop je potentiële klanten of lezers mis. Dat wil je natuurlijk voorkomen. Dat kan, met een caching tool. Denk bijvoorbeeld aan Redis, Memcached en Varnish. Wat doen deze tools precies en welke kun je het beste gebruiken?

Wat doen Redis en Memcached?

Redis en Memcached zijn voorbeelden van caching tools. Deze tools zorgen ervoor dat de bestanden op de server worden uitgelezen voordat de website wordt getoond. Data van de website worden naar een externe locatie weggeschreven. Op die manier hoeven niet alle bestanden de hele tijd uitgelezen en berekend te worden bij het gebruik van de website.

Door met een caching tool te werken, wordt je website sneller. Dat verbetert de gebruiksvriendelijkheid. Bovendien klikken potentiële bezoekers je website weg als het te lang duurt om de pagina te openen.

Redis: twee servers

Redis werkt in principe met twee servers uit hetzelfde pakket. De ene server is een primaire server en de andere server is de redundante secundaire server. Wat houdt dit nu precies in? De primaire server is de hoofdbron. Oftewel: in beginsel komt hier alle informatie vandaan als de website wordt opgeroepen.

Natuurlijk komt het weleens voor dat de techniek niet werkt, en dan moet er op een andere server teruggevallen worden. Dat gebeurt dan met de tweede server. Deze tweede server treedt dus alleen in werking al de eerste server niet goed werkt.

Hoe zit het met Memcached?

We hebben nu Redis besproken, maar hoe zit dat met Memcached? Memcached doet ongeveer hetzelfde, maar deze werkt met een ‘key’ om data te plaatsen. Een voorbeeld: een website heeft allerlei nieuwsberichten. Deze worden opgeslagen in de key ‘nieuwsberichten_home’. De berichten (values) worden opgeslagen in deze key. Vraagt een bezoeker deze data op, dan gebeurt dat met de juiste ‘key’.

Data die je met Memcached opslaat, is zo weer verdwenen. Het staat maar voor korte tijd in de keys. Prima voor dynamische items als nieuwsberichten, maar een ramp voor gegevens die lang bewaard moeten worden. Dat is ook waar het verschil met Redis zit: Redis kan gegevens langer bewaren.

Welke kan ik het best kiezen?

Zoals gezegd, voor kortdurende informatie kun je Memcached kiezen. Maar voor het opslaan en laden van complete websites raden we Redis aan. Redis is bovendien meerdere malen sneller dan Memcache. Dat komt doordat Redis de cache data in het geheugen opslaat en niet op een externe schijf. Veel andere services (waaronder Memcached) doen dat wel.

Een ander voordeel is dat Redis alles op één plek opslaat en gebruikmaakt van een tweede server. Zeker grotere websites en webwinkels merken een verschil. Bij een simpele bedrijfswebsite of een website met veel tekst, zal je geen groot verschil merken.

Vergeet je Varnish nu?

Bijna vergeten! Kort over Varnish: deze caching tool is het bekendst geworden dankzij Magento en WordPress. Met deze caching tool worden de meest aangevraagde bestanden (bijvoorbeeld plaatjes en javascript files) opgeslagen in het RAM-geheugen. Daardoor wordt de website sneller geladen. Het lijkt dus wel aardig op Redis.

Varnish zorgt ervoor dat jouw website of webshop veel sneller geladen wordt. Het is relatief makkelijk in te stellen en het kan relatief veel bezoekers tegelijk verwerken, zonder overbelasting van de server.

Nadeel aan caching tools

Caching tools hebben wel bepaalde nadelen. Zo kan het even duren voordat een aanpassing of wijziging aan de website doorgevoerd is, tenzij je de cache wist. Je ziet dus geen direct resultaat in je nieuwe code tijdens het ontwikkelen van je website.

Eigenlijk is dit amper een nadeel: het ontwikkelen van je website zou je het best kunnen doen op een aparte website, anders dan de website die al in productie is. Je kunt daar dan de wijzigingen doorvoeren en bekijken. Werkt je wijziging goed? Dan voer je de wijziging ook door op de website die voor je bezoekers zichtbaar is. Op die manier voorkom je problemen op de gewone website.

  • Deel dit bericht