Redis o Memcached su un VPS WordPress: differenze e installazione passo passo
Come scegliere tra Redis e Memcached per la cache a oggetti di WordPress su Ubuntu 24.04: comandi, plugin, verifica finale.
Redazione UptimeMag · 21 ottobre 2026 · 5 minuti di lettura

Chi gestisce un VPS WordPress con traffico reale prima o poi sbatte contro lo stesso muro: la cache a pagina intera non basta più, perché utenti loggati, carrelli WooCommerce o aree riservate non possono essere serviti da una pagina statica. Qui entra in gioco la cache a oggetti, quella che intercetta le query ripetute verso wp_options, wp_postmeta e simili prima che arrivino al database. I due backend che la implementano sono Redis e Memcached. Non sono intercambiabili senza differenze: ecco cosa cambia davvero e come installarli su Ubuntu 24.04.
Le differenze che contano, non quelle da depliant
Sul singolo host, per il traffico generato da una richiesta WordPress, le due cache sono sostanzialmente indistinguibili in termini di velocità pura. Per un sito WordPress che ha bisogno di una cache a oggetti persistente, Redis è la scelta di default giusta, non perché sia più veloce, ma perché i drop-in Redis sono attivamente mantenuti mentre quelli Memcached no.
Le differenze tecniche concrete:
| Caratteristica | Redis | Memcached |
|---|---|---|
| Persistenza su riavvio | Opzionale (RDB/AOF) | No, riparte vuoto |
| Strutture dati | Stringhe, liste, hash, set | Solo chiave-valore semplice |
| Dimensione massima elemento | Fino a 512 MB | 1 MB di default |
| Database logici per isolare siti | Sì, numerati | No |
| Threading | Singolo thread sui comandi | Multithread |
| Porta di default | 6379 | 11211 |
Il limite di 1 MB di Memcached si fa sentire quando un plugin scrive un valore più grande in quella soglia: Memcached lo scarta e WordPress torna al database per una delle query più frequenti. Su un sito con molti plugin attivi o con WooCommerce è un rischio concreto. Sul fronte multi-sito, Redis supporta database logici numerati che permettono di dare a ogni sito il proprio spazio separato, cosa che Memcached non offre.
Sul riavvio del processo: se si riavvia Memcached la cache sparisce e riparte vuota, riempiendosi di nuovo col tempo. Non è un dramma operativo — il database regge comunque — ma su un sito molto trafficato significa qualche minuto di carico più alto subito dopo ogni deploy o riavvio del servizio.
Installazione di Redis su Ubuntu 24.04
Il pacchetto è già nei repository ufficiali Ubuntu:
sudo apt update
sudo apt install redis-server
redis-server --version
sudo systemctl enable --now redis-server
sudo systemctl status redis-server
Se serve una versione più recente di quella pacchettizzata da Ubuntu, Redis Ltd mantiene un repository APT separato. Il comando ufficiale aggiunge la chiave GPG e il repository packages.redis.io, poi installa con apt-get install redis, che porta l'ultima versione stabile invece di quella congelata nei repository di sistema.
Serve anche l'estensione PHP per far parlare WordPress con Redis:
sudo apt install php-redis
sudo systemctl restart php8.3-fpm
(sostituire php8.3-fpm con la versione di PHP-FPM effettivamente in uso sul VPS).
Per un server in produzione, oltre all'installazione va impostato un limite di memoria e una politica di evizione, altrimenti Redis può riempire tutta la RAM disponibile: si installa Redis a livello di sistema, si imposta maxmemory su un valore fisso in base al budget di RAM dell'host e si imposta maxmemory-policy su allkeys-lru. Queste due righe vanno aggiunte in /etc/redis/redis.conf e poi si riavvia il servizio con sudo systemctl restart redis-server.
Installazione di Memcached su Ubuntu 24.04
sudo apt update
sudo apt install memcached
sudo systemctl enable --now memcached
sudo apt install php-memcached
sudo systemctl restart php8.3-fpm
Attenzione a un dettaglio che molte guide saltano: il plugin ufficiale per WordPress, "Memcached Object Cache", non usa l'estensione moderna php-memcached ma quella storica. Aprendo la pagina del plugin su WordPress.org risulta infatti che è richiesto un server memcached e l'estensione PECL memcache — nome della classe scritto senza la "d" finale, quella legacy, non la libreria basata su libmemcached che oggi si installa di norma via apt. Lo stesso plugin, al momento della consultazione, risultava fermo alla versione 4.0.0, aggiornato l'ultima volta 4 anni fa, con 10+ installazioni attive e testato fino a WordPress 6.1.15: numeri che segnalano un progetto poco manutenuto, da verificare caso per caso prima di affidarci un sito in produzione.
Configurare il plugin object-cache per WordPress
Con Redis
- Installare il plugin "Redis Object Cache" (di Till Krüss) dalla bacheca plugin di WordPress o da riga di comando con WP-CLI:
wp plugin install redis-cache --activate. - Aggiungere in
wp-config.php, prima della riga "Che's all, stop editing":
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
- Attivare la cache dal pannello Impostazioni → Redis, cliccando su "Enable Object Cache", oppure da terminale con
wp redis enable.
Su un server che ospita più installazioni WordPress, va aggiunta anche la variabile WP_REDIS_DATABASE per assegnare a ogni sito un numero di database logico diverso (da 0 a 15 di default), evitando che un flush su un sito svuoti anche la cache degli altri.
Con Memcached
- Copiare manualmente il file
object-cache.phpdel plugin nella cartellawp-content/del sito: i passaggi di installazione previsti sono installare memcached su almeno un server, annotare le informazioni di connessione, installare l'estensione PECL memcache e copiare object-cache.php in wp-content. - Aggiungere in
wp-config.phpla costanteWP_CACHE_KEY_SALTcon una stringa casuale univoca: questo aiuta a prevenire l'inquinamento della cache quando più installazioni WordPress condividono lo stesso server Memcached, e il valore deve essere unico per ogni installazione.
Verificare che la cache sia davvero attiva
Non basta vedere il plugin "attivo" nella bacheca: va controllato che WordPress stia davvero scrivendo e leggendo dalla cache esterna.
- Da riga di comando, con Redis:
redis-cli monitormostra in tempo reale i comandi GET/SET mentre si naviga il sito in un'altra scheda. Se la lista resta vuota, il drop-in non è caricato. - Sempre con Redis:
wp redis status(via WP-CLI) restituisce lo stato della connessione e il tipo di client usato (PhpRedis, Predis o Relay). - Controllare che il file
wp-content/object-cache.phpesista davvero: è un drop-in copiato dal plugin, non un file che compare automaticamente attivando il plugin dalla bacheca. - Per Memcached,
memcached-tool 127.0.0.1:11211 statsmostra il numero di get/set e la percentuale di hit sulla cache. - Un plugin di debug come Query Monitor aggiunge una scheda "Object Cache" con il numero di query risparmiate e il tipo di backend rilevato: è il modo più rapido per vedere l'effetto senza aprire un terminale.
Se dopo aver attivato il plugin il numero di query al database nella pagina admin resta identico a prima, quasi sempre la causa è il file object-cache.php mancante in wp-content/ o un errore di connessione alla porta sbagliata (6379 per Redis, 11211 per Memcached).
Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).