Object cache per WordPress: come funziona

Object cache per WordPress: come funziona

Cos’è la WP Cache

La cache ad oggetti di WP (object cache) è un meccanismo lato codice utilizzato per ridurre le hit sul database e migliorare i tempi di caricamento e le prestazioni del nostro sito. Sono definiti all’interno del file del core wp-includes/cache.php, e si possono utilizzare mediante un insieme predefinito di funzioni – simile a quelle messe a disposizione per i transient, da cui si distaccano per il fatto di essere un sistema di data storage anche per la cache, che pero’ non è disponibile su tutti gli hosting e soprattutto richiede un plugin di cache per poter funzionare.

Come funziona la WP Cache

Si tratta di una feature avanzata che pochi programmatori conoscono, e che ancora di meno usano in modo attivo: ma molti plugin di cache e di ottimizzazione, del resto, si basano su di esso. Di default, WP Object Cache non è una forma di dato persistente, e tende a durare esclusivamente per la brevissima durata della richiesta HTTP in esame. Non vengono, quindi, memorizzati per il futuro a meno che non si installi un apposito plugin (consigliato: W3 Total Cache). Parliamo di cache lato server, e non lato client ovviamente, per cui non facciamo confusione su questo fin dall’inizio.

Vantaggi WP Cache

Il principale vantaggio dell’uso della cache ad oggi è legato al miglioramento delle prestazioni dei tempi di caricamento del sito, qualora non si riesca ad intervenire diversamente.

Svantaggi WP Cache

Il principale svantaggio dell’uso della WP Object Cache è legato al fatto che deve essere incluso per forza in una personalizzazione del sito, quindi mettendo mano al codice.

Funzioni wp_cache

Le principali funzioni a disposizione per la Object cache sono:

wp_cache_add( $key, $data, $group, $expire )

Inserisce un valore ($data) in corrispondenza di un’etichetta ($key), un gruppo e per una certa data di scadenza.

wp_cache_set( $key, $data, $group, $expire )

Aggiorna un valore ($data) in corrispondenza di un’etichetta ($key), un gruppo e per una certa data di scadenza.

wp_cache_get( $key, $group )
wp_cache_get( $key, $group = '', $force = false, $found = null )

Preleva un valore ($data) in corrispondenza di un’etichetta ($key), un gruppo e per una certa data di scadenza.

Sono anche disponibili funzioni di cache replace, cache flush e cache delete.

Esempio base di WP Object Cache

Ammesso che $query sia una query MySQL molto lunga e dispendiosa, possiamo ottimizzarla per le volte successive salvandola in cache, ammesso che già non ci sia:

// prova a vedere se il risultato della query è già salvato in cache
$result = wp_cache_get( 'my_result' );

// se non è stato cachato $result...
if ( false === $result ) {
   $result = $wpdb->get_results( $query );
   wp_cache_set( 'my_result', $result );

   // salvalo in cache
} 
// usa normalmente $result;

Plugin di object cache

I principali per sfruttare questa feature di WP sono i seguenti.

Le funzioni di WP Object Cache sono simili, ma non uguali, a quelle dei transient.

Quando usare la object cache

Le variabili in object cache sono ideali per memorizzare brevemente dati in forma persistente, impostandone un tempo di scadenza preciso e facile da controllare mediante plugin.

0 voti


Informazioni sull'autore

Salvatore Capolupo

Consulente SEO, ingegnere informatico e fondatore di Trovalost.it, Pagare.online, Lipercubo.it e tanti altri. Di solito passo inosservato e non ne approfitto.