Nel campo dell’infrastruttura di hosting e dell’ottimizzazione delle prestazioni web, Redis (sigla di Remote Dictionary Server) è un archivio di strutture di dati open source e in memoria RAM, utilizzato prevalentemente come sistema di object cache (cache degli oggetti) e broker di messaggi. A differenza dei database tradizionali che memorizzano i record sui dischi fisici del server, Redis conserva l’intera base informativa direttamente nella memoria volatile della macchina, garantendo velocità di lettura e scrittura nell’ordine dei microsecondi.

Siti web dinamici come quelli realizzati con WordPress necessitano di interrogare costantemente il database relazionale MySQL o MariaDB per generare ogni singola pagina: devono recuperare le impostazioni generali, gli articoli recenti, i commenti e i metadati degli utenti. Questa attività ripetitiva impegna cicli di calcolo del processore e rallenta la risposta del server. Quando attivi Redis come gestore della cache degli oggetti su WordPress, i risultati delle query al database più frequenti vengono salvati in memoria RAM; alle richieste successive, la piattaforma recupera i dati all’istante da Redis, abbattendo drasticamente il carico sul server e riducendo il tempo al primo byte (TTFB).

Pensa a un portale editoriale WordPress ad alto traffico o a un negozio WooCommerce che promuove offerte in affiliazione. Gli utenti registrati e i clienti che inseriscono prodotti nel carrello navigano attraverso sessioni personalizzate e dinamiche, per le quali non è possibile applicare la normale cache di pagina statica senza rischiare di mostrare a tutti i dati del medesimo cliente. Con Redis attivo e collegato tramite un plugin di object cache dedicato, il database viene alleggerito di gran parte delle chiamate di sistema ripetitive, permettendo al sito di mantenere tempi di risposta rapidissimi anche durante picchi intensi di visite simultanee.

L’equivoco più diffuso è pensare che Redis sia un sostituto della page cache: in verità sono due tecnologie complementari che operano a livelli differenti. La page cache serve pagine HTML già pronte ai visitatori anonimi, mentre Redis accelera l’elaborazione interna di WordPress ogni volta che il CMS deve calcolare dinamicamente una richiesta. Un altro errore risiede nell’attivare istanze Redis su server virtuali o piani condivisi senza una sufficiente dotazione di memoria RAM: se lo spazio dedicato alla cache si satura senza un’adeguata regola di eliminazione dei dati obsoleti (eviction policy), il servizio rischia di andare in blocco, provocando errori di connessione all’intero sito.

Per un piccolo blog personale o un sito vetrina statico con poche visite giornaliere, l’impiego di Redis è spesso superfluo, poiché una buona cache di pagina a livello server è già in grado di garantire prestazioni eccellenti. Al contrario, Redis diventa una risorsa fondamentale e un investimento irrinunciabile per negozi online, portali con aree membri, siti di recensioni ad alto traffico o qualsiasi piattaforma WordPress complessa che richieda un’interazione continua con il database.

Fonte: redis.io