vendredi 25 septembre 2026

À propos

Contact

Lexique · Cœur de WordPress

Cache d’objets

En anglais : « Object cache »

Le cache d'objets stocke en mémoire des données PHP déjà calculées, comme des résultats de requêtes SQL, pour éviter de les recalculer à chaque chargement de page.

Recalculer la même information à chaque visite gaspille des ressources serveur inutilement ; WordPress conserve donc en mémoire, le temps d’une requête HTTP au minimum, tout résultat coûteux déjà obtenu.

Fonctionnement dans WordPress

L’API du cache d’objets repose sur wp_cache_get(), wp_cache_set() et wp_cache_delete(), organisées par groupes (options, posts, terms…). Par défaut, ce cache est non persistant : il vit uniquement pendant l’exécution du script PHP et disparaît à la fin de la requête. Pour qu’il survive entre deux visiteurs, il faut un cache persistant externe — Redis ou Memcached — activé via un fichier object-cache.php déposé dans wp-content/.

Exemple

$data = wp_cache_get( 'stats_auteur_42', 'mon_plugin' );
if ( false === $data ) {
    $data = calcul_couteux_des_stats( 42 );
    wp_cache_set( 'stats_auteur_42', $data, 'mon_plugin', 300 );
}

Bon à savoir

  • Sans plugin d’objet persistant, chaque visiteur relance les mêmes requêtes SQL : le cache d’objets par défaut n’accélère rien d’une visite à l’autre.
  • À ne pas confondre avec un transitoire, qui persiste en base de données même sans cache persistant, ou avec un cache de page, qui stocke le HTML final déjà généré.
  • Le module OPcache, lui, met en cache le bytecode PHP compilé plutôt que des données applicatives : les trois mécanismes sont complémentaires et résolvent des problèmes de performance différents.

Bon à savoir

Un plugin qui écrit dans le cache d’objets sans préfixer ses clés risque des collisions avec d’autres extensions ; utiliser un groupe de cache dédié, passé en second argument, isole proprement ses propres données du reste du site.