Knowledge base
Redis object cache in WordPress: cosa fa e come configurarla
Una Redis object cache conserva i dati del database di WordPress tra una richiesta e l'altra, così bacheca, carrello e utenti connessi aspettano meno il database. Per i visitatori anonimi che ricevono già una pagina dalla cache delle pagine aggiunge poco. Questa guida spiega cosa fa una object cache, quando la consiglia WordPress stesso, come configurare Redis, cosa si può usare senza Redis e come la gestisce Spark Speed, il plugin di cache che realizziamo noi.
In breve
- Una object cache velocizza tutto ciò che deve passare da WordPress: bacheca, carrello, checkout, utenti connessi
- Accanto a una cache delle pagine, non al posto di essa
- Il plugin da solo non basta: il suo hosting deve mettere a disposizione un server Redis
- Senza Redis, le alternative sono Memcached, SQLite o i file
Cosa fa una object cache
WordPress conserva in memoria i risultati delle query del database durante una richiesta. Al termine di quella richiesta tutto scompare. La documentazione di WordPress lo spiega così: i dati non vengono memorizzati in modo persistente tra i caricamenti di pagina, a meno che non si installi un plugin di cache persistente. Un plugin di questo tipo inserisce il file object-cache.php in wp-content e da quel momento WordPress conserva quei dati in Redis, Memcached o un altro archivio, così la richiesta successiva non deve recuperarli di nuovo dal database.
Object cache o cache delle pagine: cosa velocizza cosa
Una cache delle pagine memorizza l'HTML completo e lo serve ai visitatori anonimi, spesso prima ancora che WordPress si avvii. Qui una object cache ha poco da aggiungere. Una object cache aiuta in tutto ciò che deve passare da WordPress: la bacheca, gli utenti connessi, il carrello, il checkout e l'area personale di WooCommerce, i risultati di ricerca e la ricostruzione della cache delle pagine. Si completano a vicenda; una non sostituisce l'altra.
Ne ha bisogno? Cosa consiglia WordPress stesso
WordPress ha un controllo per una object cache persistente in Salute del sito (Site Health). Nel codice sorgente di WordPress 7.0.2 quel controllo la consiglia solo su un multisite, oppure quando viene superata una di queste soglie. Un piccolo sito vetrina con una buona cache delle pagine di solito resta sotto.
- più di 500 opzioni caricate automaticamente (autoload), oppure più di 100 kB di esse
- più di 1.000 articoli, commenti, termini, utenti od opzioni
- le soglie si possono modificare con il filtro
site_status_persistent_object_cache_thresholds
Configurare Redis con il plugin Redis Object Cache
Il plugin da solo non basta: deve essere in esecuzione un server Redis raggiungibile da PHP. Negli hosting condivisi spesso non c'è e allora non è possibile avviarne uno in autonomia. Chieda al suo hosting se Redis è disponibile e a quale indirizzo. Nel nostro laboratorio non era in esecuzione alcun server Redis: il plugin ha segnalato Connection refused e ha lasciato disattivato il pulsante Enable Object Cache. È una scelta prudente del plugin.
- Chieda al suo hosting se Redis è disponibile e a quale indirizzo o socket
- Se Redis non si trova su 127.0.0.1:6379, imposti
WP_REDIS_HOSTeWP_REDIS_PORT(e, se serve,WP_REDIS_PASSWORD) in wp-config.php - Se condivide Redis con altri siti, assegni a ogni sito il proprio
WP_REDIS_PREFIXo database: altrimenti lo svuotamento può colpire l'intero database Redis - Installi Redis Object Cache, vada su Impostazioni, Redis e faccia clic su Enable Object Cache
- Verifichi con
wp redis status: Stato deve indicare Connected

Alternative: Memcached, APCu, SQLite e file
Niente Redis? Esistono altri archivi. Memcached funziona in modo simile ed è incluso in alcuni piani di hosting. APCu conserva i dati nella memoria di PHP, ma per ogni processo PHP, quindi WP-CLI e il web server non sempre vedono le modifiche l'uno dell'altro. SQLite e i file non richiedono un server separato e quindi funzionano anche su hosting di base.
| Plugin | Archiviazione | Installazioni attive | Valutazione | Ultimo aggiornamento | PHP minimo |
|---|---|---|---|---|---|
| Redis Object Cache | Richiede un server Redis; PhpRedis, Predis o Relay | 500.000+ | 4,5 (179) | 18 set 2026 | 7.2 |
| Docket Cache | Archivia in file PHP, Redis non necessario | 20.000+ | 4,9 (50) | 15 ott 2026 | 7.2.5 |
| SQLite Object Cache | Archivia in un file SQLite, Redis non necessario | 10.000+ | 5,0 (51) | 17 ago 2026 | 5.6 |
Dati di wordpress.org, consultati il 16 ottobre 2026. Le installazioni sono i numeri arrotondati mostrati da wordpress.org.
Come funziona l'object cache in Spark Speed
Spark Speed, il plugin di cache che realizziamo noi, ha una propria object cache come interruttore nella scheda Cache. Cosa aspettarsi, dal codice della versione 0.73.2 e dalla nostra documentazione:
- Spark sceglie l'archivio offerto dal server, in questo ordine: Redis, Memcached, SQLite e APCu. Un
WP_REDIS_HOSTconfigurato ha sempre la precedenza. - Senza
WP_REDIS_HOST, Spark prova 127.0.0.1:6379 e poi i percorsi socket di Redis noti che esistono sul server. - Se esiste già l'object-cache.php di un altro plugin, Spark non lo sovrascrive.
- Se Redis è impostato sulla policy noeviction, Spark avvisa: in quel caso Redis rifiuta nuove scritture quando la memoria è piena, invece di eliminare le vecchie chiavi.
- Cache delle pagine e object cache hanno ciascuna il proprio pulsante di svuotamento; svuotarne una non svuota l'altra.
- Se il suo hosting fornisce già una object cache, lasci disattivato l'interruttore in Spark.
Ottimizzare Redis
Due impostazioni decidono se Redis continua a funzionare bene come cache. maxmemory dà a Redis un limite di memoria. maxmemory-policy decide cosa succede quando quel limite viene raggiunto. La documentazione di Redis definisce allkeys-lru un buon valore predefinito per una cache: vengono eliminate le chiavi usate meno di recente. Con noeviction Redis restituisce un errore alle scritture quando è pieno. Negli hosting condivisi o gestiti la imposta l'hosting; in caso di dubbio chieda.
Verifica e svuotamento
Se WordPress usa una object cache persistente lo vede in Salute del sito (Site Health) e con WP-CLI. Dopo una modifica fatta direttamente nel database, ad esempio un'importazione o una query SQL, svuoti l'object cache, altrimenti WordPress mostra ancora il vecchio valore.
wp cache flushsvuota l'object cache (funziona con qualsiasi plugin di object cache)wp redis statusmostra stato, client e drop-in di Redis Object Cachewp spark-speed flush-object-cachesvuota l'object cache di Spark Speed- In Redis stesso,
keyspace_hitsekeyspace_missesdiINFO statsmostrano quanto spesso la cache viene trovata
Attivi una sola object cache alla volta. Due plugin che vogliono entrambi gestire object-cache.php si ostacolano a vicenda.
Spark Speed combina cache delle pagine e object cache e sceglie l'archivio offerto dal suo server.
Domande frequenti
Soprattutto le parti che non arrivano dalla cache delle pagine: la bacheca, il carrello e il checkout, gli utenti connessi e i risultati di ricerca. Le pagine che arrivano già dalla cache delle pagine migliorano poco.
Entrambi conservano i dati dell'object cache nella memoria di un server separato. Per WordPress svolgono lo stesso compito; la scelta dipende soprattutto da ciò che offre il suo hosting.
Solo se il suo hosting offre Redis. Negli hosting condivisi di solito non è possibile avviare un server Redis in autonomia. Senza Redis è possibile usare una object cache su SQLite o su file.
Con wp cache flush tramite WP-CLI, oppure con il pulsante del suo plugin di object cache. Lo faccia dopo modifiche fatte direttamente nel database.