Persoonlijke support vanuit Oostende   support@kyzoe.be   +32 59 53 00 00

Redis object cache in WordPress: wanneer en hoe schakelt u het in?

Sneller WordPress met Redis: het WordPress-logo naast het Redis-logo

Voelt uw WordPress-site traag aan in het beheer of bij het afrekenen, terwijl de paginacache gewoon werkt? Dan kan een persistente objectcache met Redis het verschil maken.

Over caching wordt vaak in één adem gesproken, maar er bestaan twee heel verschillende soorten. Een paginacache bewaart de kant-en-klare pagina. Een objectcache bewaart de tussenresultaten waarmee WordPress die pagina opbouwt. Redis is de bekendste manier om die tweede soort te laten werken. Hieronder leggen we uit wanneer dat nuttig is, wat u nodig hebt en hoe u het instelt.

Paginacache en objectcache: wat is het verschil?

Een paginacache (zoals die van LiteSpeed Cache) bewaart de volledige HTML van een pagina. Bij het volgende bezoek krijgt de bezoeker die pagina meteen, zonder dat PHP of de database er nog aan te pas komt. Dat is veruit de snelste manier om een pagina te tonen.

Een objectcache werkt dieper. Tijdens het opbouwen van een pagina vraagt WordPress voortdurend gegevens op uit de database: instellingen, menu’s, berichten, gebruikersgegevens. WordPress houdt die resultaten wel bij in het geheugen, maar standaard verdwijnen ze na elk verzoek. Bij het volgende bezoek begint alles opnieuw. Met een persistente objectcache zoals Redis blijven die resultaten bewaard tussen twee verzoeken, zodat WordPress veel databasevragen kan overslaan.

De twee vullen elkaar aan: de paginacache vangt de pagina’s op die voor iedereen gelijk zijn, de objectcache versnelt de pagina’s die niet gecachet kunnen worden.

Wanneer heeft Redis zin?

Niet elke website heeft er baat bij. Redis loont vooral wanneer veel pagina’s dynamisch zijn en dus de paginacache missen:

  • Webshops (bijvoorbeeld WooCommerce): winkelmand, kassa en klantaccount zijn persoonlijk en kunnen niet in de paginacache.
  • Ledensites en websites met inlog, waar elke bezoeker iets anders ziet.
  • Een drukke beheeromgeving: het WordPress-dashboard wordt niet gecachet en wordt met veel plug-ins snel zwaar.
  • Grote websites met veel inhoud en veel databasevragen per pagina.

Heeft u een eenvoudige website met vooral vaste pagina’s, waarvoor de paginacache goed werkt, dan merkt u van Redis weinig. In dat geval is het de moeite niet om extra onderdelen te beheren.

Eerst nagaan of Redis beschikbaar is

Redis is geen WordPress-plug-in, maar een dienst op de server. Uw hostingpakket moet die dus aanbieden, en PHP moet ermee kunnen praten (via de PHP-extensie redis). Een plug-in installeren zonder Redis op de server heeft geen zin: de verbinding mislukt en u wint niets.

Vraag aan uw hostingprovider, of controleer in uw beheerpaneel, welke gegevens u nodig hebt:

  • de host en de poort, meestal 127.0.0.1 (of localhost) en 6379, of in plaats daarvan het pad naar een socketbestand;
  • indien nodig een wachtwoord (en soms een gebruikersnaam);
  • het nummer van de database, standaard 0.

Wilt u Redis gebruiken op een website die bij ons draait? Neem contact met ons op, dan bekijken we samen of het zinvol is voor uw site en welke gegevens u moet gebruiken.

Kies één plug-in

WordPress laat slechts één objectcache tegelijk toe. Die wordt aangestuurd via een bestand object-cache.php in de map wp-content, een zogenaamde drop-in. Twee plug-ins die allebei zo’n bestand willen plaatsen, werken elkaar tegen. De regel is dus eenvoudig:

  • Gebruikt u al LiteSpeed Cache, dan beheert u Redis via de object cache-instelling van die plug-in. Een tweede plug-in is overbodig.
  • Gebruikt u LiteSpeed Cache niet, dan is Redis Object Cache een goede en gangbare keuze.

Wilt u van de ene naar de andere overstappen, schakel dan eerst de objectcache van de eerste uit voordat u de tweede activeert, en controleer dat de oude drop-in verdwenen is.

Redis instellen met LiteSpeed Cache

Maak voor u begint een back-up van uw website. Ga daarna naar LiteSpeed Cache → Cache en open het tabblad Object.

  1. Zet Object Cache op Aan.
  2. Kies bij Methode voor Redis. Let op: de standaardkeuze is Memcached, een ander systeem.
  3. Vul bij Host het adres in (bijvoorbeeld localhost het pad naar het socketbestand) en bij Poort de Redis-poort, meestal 6379. De poort die er standaard staat voor Memcached 11211, past hier niet. Bij een socketverbinding is de poort 0.
  4. Vul indien nodig het wachtwoord in en kies het Redis-database-ID (standaard 0).
  5. Laat persistente verbinding bij voorkeur aan, tenzij uw host anders adviseert.
  6. Sla de instellingen op.

In het veld Status op dezelfde pagina ziet u nu of de PHP-extensie actief is en of de verbindingstest geslaagd is. Staat daar dat de test mislukt, ga dan naar het onderdeel over problemen oplossen verderop.

Redis instellen met Redis Object Cache

Kiest u voor de plug-in Redis Object Cache?

  1. Installeer en activeer de plug-in.
  2. Ga naar Instellingen → Redis en klik op Enable Object Cache. De plug-in plaatst nu de drop-in object-cache.php.
  3. Staat er in het overzicht dat de verbinding niet tot stand komt (Not connected), dan hebt u de verbindingsgegevens nodig. Die voegt u toe aan het bestand wp-config.php, boven de regel That’s all, stop editing!.
define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );
define( 'WP_REDIS_DATABASE', 0 );
define( 'WP_REDIS_PREFIX', 'mijnsite_' );
// Indien nodig:
// define( 'WP_REDIS_PASSWORD', 'uw-wachtwoord' );

Gebruikt uw server een socketbestand in plaats van een poort, dan stelt u WP_REDIS_SCHEME in op 'unix' en geeft u het pad op via WP_REDIS_PATH. Zijn de gegevens correct, dan toont de plug-in de status Connected.

Controleer of het werkt

Een groen vinkje in de plug-in is een goed begin, maar bevestig het ook op andere plaatsen:

  • Extra → Websitegezondheid in WordPress meldt of er een persistente objectcache in gebruik is.
  • Onder Plug-ins → Drop-ins staat object-cache.php vermeld wanneer de objectcache actief is.
  • Het statusvak in LiteSpeed Cache of de plug-in Redis Object Cache toont de verbinding en, bij de plug-in, het gebruik.
  • Het belangrijkste: is de site waarvoor u het deed ook merkbaar sneller? Test de kassa, de beheeromgeving of de pagina’s die niet in de paginacache zitten, voor en na de wijziging.

Problemen oplossen

  • De verbinding mislukt. De meest gemaakte fout is de poort. Is Redis gekozen, maar staat er nog 11211 (Memcached), dan werkt het niet. Controleer ook host, wachtwoord en of de PHP-extensie redis geladen is.
  • Verouderde gegevens. Ziet u in het beheer soms oude waarden, probeer dan in LiteSpeed Cache de optie Cache WP-Admin uit te zetten. Sluit anders de betrokken groepen van caching uit onder Do Not Cache Groups, bijvoorbeeld voor een plug-in die zijn gegevens zelf beheert.
  • Meerdere websites op één Redis-server. Geef elke website een eigen database-ID of een eigen voorvoegsel (bij Redis Object Cache). Anders kunnen sites elkaars gegevens overschrijven of legen.
  • Twee objectcache-plug-ins. Zijn er twee actief en geeft WordPress een melding over de drop-in? Schakel er één uit en controleer of deze object-cache.php van de juiste plug-in komt.

De cache legen

Een objectcache legen is veilig: WordPress bouwt de gegevens gewoon opnieuw op uit de database. De eerste pagina’s na het legen zijn even trager, daarna is alles weer als voorheen.

  • Met Redis Object Cache klikt u op Flush Cache in de instellingen van de plug-in.
  • Met LiteSpeed Cache leegt u de cache via het menu Alles legen in de werkbalk.
  • Via SSH kan het met de opdracht wp cache flush.

Let op wanneer meerdere websites dezelfde Redis-database delen: dan leegt een flush de gegevens van al die sites tegelijk. Een eigen database of voorvoegsel per site voorkomt dat.

Kort samengevat

  • Een paginacache bewaart de pagina, een objectcache bewaart databaseresultaten. Ze vullen elkaar aan.
  • Redis loont vooral bij webshops, ledensites, drukke beheeromgevingen en grote websites. Een eenvoudige site met vaste pagina’s merkt weinig.
  • Controleer eerst of uw hosting Redis aanbiedt en verzamel host, poort en eventueel wachtwoord.
  • Gebruik één plug-in: LiteSpeed Cache als u die al hebt, anders Redis Object Cache.
  • Kies bij LiteSpeed Cache de methode Redis en de juiste poort (niet 11211).
  • Controleer het resultaat in Websitegezondheid en meet of het echt sneller is.

Twijfelt u of Redis iets voor uw website is? Vraag een WordPress-websitecheck aan of neem contact met ons op. We bekijken graag samen waar uw site traag is en welke oplossing het meest oplevert.

Lees ook

Hulp nodig met je website of hosting?

Stel je vraag, we helpen je persoonlijk verder.

NL