# Cache d’objets

> 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.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/cache-objets/

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.
