Aller au contenu principal
SparkCore
Base de connaissances

Cache d'objets Redis dans WordPress : ce qu'il fait et comment le configurer

Un cache d'objets Redis conserve les données de la base de données WordPress entre les requêtes, de sorte que le tableau de bord, le panier et les utilisateurs connectés attendent moins la base de données. Pour les visiteurs anonymes qui reçoivent déjà une page du cache de page, il apporte peu. Ce guide explique ce que fait un cache d'objets, quand WordPress lui-même en recommande un, comment configurer Redis, ce que vous pouvez utiliser sans Redis et comment Spark Speed, le plugin de cache que nous créons, le gère.
En bref
  • Un cache d'objets accélère tout ce qui doit passer par WordPress : tableau de bord, panier, paiement, utilisateurs connectés
  • En complément d'un cache de page, pas à sa place
  • Le plugin seul ne suffit pas : votre hébergeur doit fournir un serveur Redis
  • Sans Redis, Memcached, SQLite ou les fichiers sont des alternatives

Ce que fait un cache d'objets

WordPress conserve en mémoire les résultats des requêtes de base de données pendant une requête. Après cette requête, tout disparaît. La documentation de WordPress le formule ainsi : les données ne sont pas stockées de façon persistante entre les chargements de page, sauf si vous installez un plugin de cache persistant. Un tel plugin place le fichier object-cache.php dans wp-content, et WordPress conserve alors ces données dans Redis, Memcached ou un autre stockage, de sorte que la requête suivante n'a pas à les récupérer de nouveau dans la base de données.

Cache d'objets ou cache de page : ce qui accélère quoi

Un cache de page stocke le HTML complet et le sert aux visiteurs anonymes, souvent avant même le démarrage de WordPress. Un cache d'objets a peu à y apporter. Un cache d'objets aide pour tout ce qui doit bel et bien passer par WordPress : le tableau de bord, les utilisateurs connectés, le panier WooCommerce, le paiement et le compte client, les résultats de recherche et la reconstruction du cache de page. Les deux se complètent ; l'un ne remplace pas l'autre.

En faut-il un ? Ce que conseille WordPress lui-même

WordPress dispose d'un contrôle du cache d'objets persistant dans Santé du site. Dans le code source de WordPress 7.0.2, ce contrôle n'en recommande un que sur un multisite, ou dès que l'un de ces seuils est dépassé. Un petit site vitrine avec un bon cache de page reste généralement en dessous.
  • plus de 500 options chargées automatiquement, ou plus de 100 ko de celles-ci
  • plus de 1 000 articles, commentaires, termes, utilisateurs ou options
  • les seuils peuvent être modifiés avec le filtre site_status_persistent_object_cache_thresholds

Configurer Redis avec le plugin Redis Object Cache

Le plugin seul ne suffit pas : un serveur Redis accessible à PHP doit être en cours d'exécution. Sur un hébergement mutualisé, il est souvent absent, et vous ne pouvez pas en démarrer un vous-même. Demandez à votre hébergeur si Redis est disponible et à quelle adresse. Dans notre laboratoire, aucun serveur Redis ne tournait : le plugin a signalé Connection refused et a laissé le bouton Enable Object Cache désactivé. C'est un choix prudent de la part du plugin.
  1. Demandez à votre hébergeur si Redis est disponible, et à quelle adresse ou quel socket
  2. Si Redis n'est pas à 127.0.0.1:6379, définissez WP_REDIS_HOST and WP_REDIS_PORT (et si nécessaire WP_REDIS_PASSWORD) dans wp-config.php
  3. Si vous partagez Redis avec d'autres sites, donnez à chaque site son propre WP_REDIS_PREFIX ou sa propre base de données : sinon, un vidage peut toucher toute la base Redis
  4. Installez Redis Object Cache, allez dans Réglages, Redis et cliquez sur Enable Object Cache
  5. Vérifiez avec wp redis status : Statut doit afficher Connected
Réglages de Redis Object Cache indiquant que Redis est injoignable, avec un bouton Enable Object Cache désactivé
Redis Object Cache 3.0.0 dans notre laboratoire sans serveur Redis: Redis Unreachable, il ne peut donc pas être activé.

Alternatives : Memcached, APCu, SQLite et fichiers

Pas de Redis ? Il existe d'autres stockages. Memcached fonctionne de façon similaire et est fourni avec certaines offres d'hébergement. APCu conserve les données dans la mémoire propre à PHP, mais par processus PHP ; WP-CLI et le serveur web ne voient donc pas toujours les modifications l'un de l'autre. SQLite et les fichiers ne nécessitent pas de serveur distinct et fonctionnent donc aussi sur un hébergement d'entrée de gamme.
PluginStockageInstallations activesNoteDernière mise à jourPHP minimum
Redis Object CacheNécessite un serveur Redis ; PhpRedis, Predis ou Relay500 000+4,5 (179)18 sept. 20267.2
Docket CacheStocke dans des fichiers PHP, Redis non requis20 000+4,9 (50)15 oct. 20267.2.5
SQLite Object CacheStocke dans un fichier SQLite, Redis non requis10 000+5,0 (51)17 août 20265.6

Chiffres de wordpress.org, relevés le 16 octobre 2026. Les installations sont les nombres arrondis affichés par wordpress.org.

Comment fonctionne le cache d'objets dans Spark Speed

Spark Speed, le plugin de cache que nous créons, dispose de son propre cache d'objets, sous forme d'un interrupteur dans l'onglet Cache. À quoi s'attendre, d'après le code de la version 0.73.2 et notre documentation :
  • Spark choisit le stockage proposé par le serveur, dans cet ordre : Redis, Memcached, SQLite et APCu. Un WP_REDIS_HOST configuré l'emporte toujours.
  • Sans WP_REDIS_HOST, Spark essaie 127.0.0.1:6379, puis les chemins de socket Redis connus qui existent sur le serveur.
  • Si l'object-cache.php d'un autre plugin est déjà présent, Spark ne l'écrase pas.
  • Si Redis est réglé sur la politique noeviction, Spark avertit : Redis refuse alors les nouvelles écritures lorsque la mémoire est pleine, au lieu d'évincer d'anciennes clés.
  • Le cache de page et le cache d'objets ont chacun leur propre bouton de vidage ; vider l'un ne vide pas l'autre.
  • Si votre hébergeur fournit déjà un cache d'objets, laissez l'interrupteur de Spark désactivé.

Régler Redis

Deux réglages déterminent si Redis continue de bien fonctionner comme cache. maxmemory donne à Redis une limite de mémoire. maxmemory-policy décide de ce qui se passe lorsque cette limite est atteinte. La documentation de Redis qualifie allkeys-lru de bon choix par défaut pour un cache : les clés les moins récemment utilisées sont évincées. Avec noeviction, Redis renvoie une erreur lors des écritures une fois plein. Sur un hébergement mutualisé ou géré, c'est l'hébergeur qui règle cela ; demandez en cas de doute.

Vérifier et vider

Savoir si WordPress utilise un cache d'objets persistant se voit dans Santé du site et avec WP-CLI. Après une modification faite directement dans la base de données, par exemple un import ou une requête SQL, videz le cache d'objets, sinon WordPress affiche encore l'ancienne valeur.
  • wp cache flush vide le cache d'objets (fonctionne avec n'importe quel plugin de cache d'objets)
  • wp redis status affiche le statut, le client et le drop-in de Redis Object Cache
  • wp spark-speed flush-object-cache vide le cache d'objets de Spark Speed
  • Dans Redis lui-même, keyspace_hits et keyspace_misses de INFO stats montrent la fréquence des succès du cache
N'activez qu'un seul cache d'objets à la fois. Deux plugins qui veulent tous deux gérer object-cache.php se gênent mutuellement.
Spark Speed combine cache de page et cache d'objets et choisit le stockage proposé par votre serveur.

Questions fréquentes

Surtout les parties qui ne viennent pas du cache de page : le tableau de bord, le panier et le paiement, les utilisateurs connectés et les résultats de recherche. Les pages qui viennent déjà du cache de page gagnent peu.

Les deux conservent les données du cache d'objets dans la mémoire d'un serveur distinct. Pour WordPress, ils font le même travail ; votre choix dépend surtout de ce que propose votre hébergeur.

Seulement si votre hébergeur propose Redis. Sur un hébergement mutualisé, vous ne pouvez généralement pas démarrer vous-même un serveur Redis. Sans Redis, vous pouvez utiliser un cache d'objets sur SQLite ou dans des fichiers.

Avec wp cache flush via WP-CLI, ou avec le bouton de votre plugin de cache d'objets. Faites-le après des modifications faites directement dans la base de données.