sql >> Database teknologi >  >> NoSQL >> Redis

Brug af Redis Object Cache til at fremskynde din WordPress-installation

Redis er et open source (BSD-licenseret), datastrukturlager i hukommelsen, der bruges som database, cache og meddelelsesmægler. Det kan kombineres med andre databaser som MySQL for at give en mekanisme til at cache dine forespørgsler.

I denne artikel viser vi, hvordan man cacher de MySQL-forespørgsler, der er nødvendige for at gengive WordPress-sider. Dette vil give os betydelige præstationsgevinster, dog med nogle forbehold.

Introduktion til bedre WordPress-caching

WordPress bruger MySQL-databasen til at cache interne applikationsobjekter (brødkrummer, menupunkter osv.), som kan være dyrt at generere. Da databasen også håndterer forespørgsler om sideanmodninger, er det muligvis den mest almindelige flaskehals og forårsager ofte øgede indlæsningstider.

Redis giver en caching-mekanisme, der fungerer som et alternativ til MySQL-databasen. Hvis en bruger besøger en WordPress-side, serveres de MySQL-forespørgsler, der kræves for at generere siden, via Redis, som cacher resultaterne. Dette resulterer i lynhurtige indlæsningstider, der kan sammenlignes med statiske sider.

Et andet populært caching-valg er Memcached. Men Redis gør næsten alt, hvad Memcached gør, så vi vil bruge ScaleGrid hosting til Redis™* af hensyn til denne vejledning.

Hvordan fungerer Redis Caching?

Når en bruger anmoder om en WordPress-side for første gang, udføres en MySQL-forespørgsel på serveren. Redis cacher denne forespørgsel, så når en anden bruger anmoder om den samme WordPress-side, leveres resultaterne fra Redis uden at det er nødvendigt at forespørge databasen igen.

Hvis forespørgslen ikke er cachelagret i Redis, leveres resultaterne af MySQL, som derefter føjes til Redis-cachen.

Hvis en bestemt værdi opdateres i databasen, ugyldiggøres den tilsvarende Redis-værdi for at forhindre dårlige cachedata i at blive serveret til brugeren.

Krav til selvstudier

Her er listen over teknologier, der bruges i denne artikel:

  • 2 WordPress-installationer (med og uden plugin, til benchmarks)
  • Redis™-server
  • Redis WP Object Cache Plugin
Sådan fremskynder du din WordPress-installation ved hjælp af Redis Object CacheClick To Tweet

WordPress-installation

Du kan downloade den seneste version af WordPress her og konfigurere to forskellige installationer på en vært som Heroku eller AWS.

Redis Server

ScaleGrid giver support i verdensklasse til Redis™ Standalone og Master/Slave-klynger med forbedrede sikkerhedsfunktioner. Vi vil bruge en Standalone Redis™-klynge hostet på ScaleGrid med Allkeys-LRU-cachestrategien, og du kan tilmelde dig en gratis 30-dages prøveversion af vores hosting for Redis™ for at hjælpe med denne vejledning.

Redis WP Object Cache Plugin

Dette plugin bruges som et drop-in til din WordPress-installation og kan konfigureres til at bruge Redis™-værten. Du kan finde pluginnet her.

Opsætningsinstruktioner:Redis Object Cache til WordPress

Her er trinene til at få Redis Object Cache Plugin installeret på en WordPress-installation.

Trin 1:Installer Redis Cache Plugin

Dette selvstudie forudsætter, at du allerede har to nye installationer af WordPress opsat. På en af ​​dem skal du installere Redis Object Cache plugin. Når plugin'et er installeret, kan du aktivere det fra plugins-menuen.

Trin 2:Find Redis i dine indstillinger

Når plugin'et er aktiveret, vises en Redis-indstilling under menuen Indstillinger.

Trin 3:Tilføj WordPress-konfigurationer

Efter opsætning af pluginnet skal vi tilføje konfigurationsmuligheder til WordPress-konfigurationsfilen. Som minimum skal du konfigurere følgende muligheder:

define('WP_REDIS_HOST', '');
define('WP_REDIS_PASSWORD', '');

Du kan finde ovenstående muligheder på siden ScaleGrid Cluster Details for Redis™.

Gem konfigurationen og aktiver objektcachen. Hvis godkendelsen er korrekt, bør du se følgende skærmbillede:

På dette tidspunkt er Redis blevet konfigureret som en cache til din WordPress-installation.

Overvågning og fejlretning af WordPress-forespørgsler

Alle Redis-klynger er installeret med Redis-kommandolinjegrænsefladeværktøjet (redis-cli), som du kan bruge til at overvåge de indkommende forespørgselsanmodninger fra WordPress. Her er et skærmbillede af, hvordan det kan se ud:

Hvis du ikke kan se noget output på konsollen, skal du gå til WordPress-webstedet og opdatere.

WordPress &Redis Metrics to Track

Den vigtigste metrik, der skal spores her, er sidens indlæsningstid. Her er standardkonfigurationen, vi bruger til den friske installation:

  • WordPress:4.9.5
  • Redis:v.4.0.2
  • WordPress-tema:Twenty Seventeen

Baseret på en ny installation på ovenstående parametre kan vi se næsten 50 % reduktion i sideindlæsningstider:

  • Uden Redis Object Cache =~900ms
  • Med Redis Object Cache =~400ms

Redis Object Cache Ulemper

Der er et par forbehold ved at bruge Redis Object Cache-tilgangen på WordPress. Caching-mekanismen fungerer ikke godt, hvis du har mange plugins og temaer installeret. Dette skyldes det faktum, at alle deres data også skal cachelagres med Redis.

Du kan også lære at cache tweets ved hjælp af Node.js, Redis og Socket.io i vores tidligere artikel.

Som altid, hvis du bygger noget fantastisk, så tweet os om det @scalegridio. Hvis du har brug for hjælp til at administrere eller hoste MongoDB® Database eller Redis™, så kontakt os på [email protected].


  1. Sikring af MongoDB mod eksterne injektionsangreb

  2. (MongoDB Java) $skub ind i array

  3. Overvågning af Percona Server til MongoDB - Nøglemålinger

  4. En sikkerhedstjekliste til MongoDB-produktionsinstallationer