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

Usare Redis Object Cache per velocizzare l'installazione di WordPress

Redis è un archivio di strutture dati in memoria open source (con licenza BSD), utilizzato come database, cache e broker di messaggi. Può essere combinato con altri database come MySQL per fornire un meccanismo per memorizzare nella cache le tue query.

In questo articolo, mostreremo come memorizzare nella cache le query MySQL necessarie per il rendering delle pagine di WordPress. Questo ci fornirà significativi miglioramenti delle prestazioni, anche se con alcuni avvertimenti.

Introduzione a una migliore memorizzazione nella cache di WordPress

WordPress utilizza il database MySQL per memorizzare nella cache oggetti interni dell'applicazione (breadcrumb, voci di menu, ecc.) che possono essere costosi da generare. Poiché il database gestisce anche le query per le richieste di pagina, è probabilmente il collo di bottiglia più comune e spesso causa tempi di caricamento più lunghi.

Redis fornisce un meccanismo di memorizzazione nella cache che funge da alternativa al database MySQL. Se un utente visita una pagina WordPress, le query MySQL richieste per generare la pagina vengono servite tramite Redis che memorizza nella cache i risultati. Ciò si traduce in tempi di caricamento incredibilmente rapidi, paragonabili alle pagine statiche.

Un'altra scelta di memorizzazione nella cache popolare è Memcached. Tuttavia, Redis fa quasi tutto ciò che fa Memcached, quindi utilizzeremo l'hosting ScaleGrid per Redis™* per il bene di questo tutorial.

Come funziona la memorizzazione nella cache di Redis?

Quando un utente richiede una pagina WordPress per la prima volta, viene eseguita una query MySQL sul server. Redis memorizza questa query nella cache, quindi quando un altro utente richiede la stessa pagina di WordPress, i risultati vengono forniti da Redis senza che sia necessario interrogare nuovamente il database.

Se la query non è memorizzata nella cache in Redis, i risultati vengono forniti da MySQL, che vengono quindi aggiunti alla cache Redis.

Se un valore particolare viene aggiornato nel database, il valore Redis corrispondente viene invalidato per evitare che i dati della cache non validi vengano forniti all'utente.

Requisiti del tutorial

Ecco l'elenco delle tecnologie utilizzate in questo articolo:

  • 2 installazioni di WordPress (con e senza plug-in, per benchmark)
  • Server Redis™
  • Plugin Redis WP Object Cache
Come velocizzare l'installazione di WordPress utilizzando Redis Object CacheClick To Tweet

Installazione di WordPress

Puoi scaricare l'ultima versione di WordPress qui e configurare due diverse installazioni su un host come Heroku o AWS.

Server Redis

ScaleGrid fornisce un supporto di prim'ordine per i cluster Redis™ Standalone e Master/Slave con funzionalità di sicurezza avanzate. Utilizzeremo un cluster Redis™ autonomo ospitato su ScaleGrid con la strategia di memorizzazione nella cache Allkeys-LRU e puoi registrarti per una prova gratuita di 30 giorni del nostro hosting per Redis™ per assistere con questo tutorial.

Plugin Redis WP Object Cache

Questo plug-in viene utilizzato come drop-in per l'installazione di WordPress e può essere configurato per utilizzare l'host Redis™. Puoi trovare il plugin qui.

Istruzioni per la configurazione:Redis Object Cache per WordPress

Ecco i passaggi per installare Redis Object Cache Plugin su un'installazione di WordPress.

Passaggio 1:installa il plug-in Redis Cache

Questo tutorial presuppone che tu abbia già configurato due nuove installazioni di WordPress. Su uno di essi, è necessario installare il plug-in Redis Object Cache. Una volta installato il plugin, puoi attivarlo dal menu dei plugin.

Passaggio 2:trova Redis nelle tue Impostazioni

Una volta attivato il plug-in, verrà visualizzata un'opzione Redis nel menu Impostazioni.

Passaggio 3:aggiungi le configurazioni di WordPress

Dopo aver impostato il plug-in, dobbiamo aggiungere le opzioni di configurazione al file di configurazione di WordPress. Come minimo, dovresti impostare le seguenti opzioni:

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

Puoi trovare le opzioni di cui sopra nella pagina Dettagli del cluster ScaleGrid per Redis™.

Salva la configurazione e abilita Object Cache. Se l'autenticazione è corretta, dovresti vedere la seguente schermata:

A questo punto, Redis è stato configurato come cache per l'installazione di WordPress.

Monitoraggio e debug delle query di WordPress

Tutti i cluster Redis vengono installati con lo strumento dell'interfaccia a riga di comando Redis (redis-cli) che puoi utilizzare per monitorare le richieste di query in arrivo da WordPress. Ecco uno screenshot di come potrebbe apparire:

Se non vedi alcun output sulla console, vai al sito Web di WordPress e aggiorna.

Metriche WordPress e Redis da monitorare

La principale metrica da monitorare qui è il tempo di caricamento della pagina. Ecco la configurazione predefinita che stiamo utilizzando per la nuova installazione:

  • WordPress:4.9.5
  • Redis:v.4.0.2
  • Tema WordPress:Twenty Seventeen

Sulla base di una nuova installazione sui parametri di cui sopra, possiamo vedere una riduzione di quasi il 50% dei tempi di caricamento delle pagine:

  • Senza la cache degli oggetti Redis =~900 ms
  • Con la cache degli oggetti Redis =~400 ms

Svantaggi della cache degli oggetti Redis

Ci sono alcuni avvertimenti sull'utilizzo dell'approccio Redis Object Cache su WordPress. Il meccanismo di memorizzazione nella cache non funziona bene se sono installati molti plugin e temi. Ciò è dovuto al fatto che tutti i loro dati dovrebbero essere memorizzati nella cache anche con Redis.

Puoi anche imparare a memorizzare nella cache i tweet utilizzando Node.js, Redis e Socket.io nel nostro articolo precedente.

Come sempre, se costruisci qualcosa di fantastico, scrivici un tweet su @scalegridio. Se hai bisogno di aiuto con la gestione o l'hosting del database MongoDB® o Redis™, contattaci all'indirizzo [email protected].