WordPress : comment configurer le cache objet Redis ?

WordPress

WordPress : comment configurer le cache objet Redis ?

Ce tutoriel explique comment installer Redis sur Debian 13 (Linux) et comment configurer Redis pour un site web WordPress. Vous pouvez effectuer une installation similaire pour utiliser Redis avec une autre application.

Commençons par présenter deux notions importantes : le cache objet et Redis en lui-même.

Pour comprendre l’intérêt du cache objet, il faut d’abord visualiser le problème : dans une architecture web classique, votre base de données relationnelle (comme MySQL) est un potentiel goulot d’étranglement. La raison : elle stocke les données sur disque, ce qui est lent (même si cela dépend du type de support). Le principe du cache objet est d’intercaler une couche de mémoire vive (RAM) ultra-rapide entre votre application et votre base de données. Ainsi, le résultat d’une requête SQL sera mis en mémoire via le cache objet, ce qui évite de recalculer l’information à chaque requête d’un utilisateur : l’information est servie depuis le cache. L’utilisation d’un cache objet permet d’optimiser l’utilisation des ressources d’une machine.

De son côté, Redis s’est imposé comme une solution de référence lorsqu’il est question d’implémenter du cache objet (bien qu’il existe des alternatives comme Dragonfly et Memcached). Redis est une base de données NoSQL en mémoire qui fonctionne comme un dictionnaire “clé-valeur” performant. Redis est capable de comprendre et manipuler des structures de données diverses stockées directement en RAM.

Installation de Redis sur Debian 13

Désormais, nous allons passer à l’installation de Redis Server sur une machine Debian 13. Cette même machine héberge un serveur Web Apache2, PHP-FPM et un site WordPress. Connectez-vous au Terminal de votre machine.

Installation des paquets et dépendances

Dans le contexte d’un serveur Web avec PHP, vous devez installer une extension PHP pour que les deux composants soient capables de communiquer. Voici l’extension à installer si vous utilisez PHP 8.4.


Puis, procédez à l’installation du paquet Redis en lui-même.


Enfin, activez le démarrage automatique du service redis.


Les composants sont installés, désormais nous allons effectuer la configuration de Redis.

Configuration du serveur Redis

Le fichier de configuration de Redis, nommé , est stocké dans le répertoire . Pour se connecter à Redis, il y a deux possibilités : une connexion TCP ou une connexion directe au niveau du socket. Ici, les composants Web et Redis sont installés sur la même machine, nous allons donc utiliser le mode socket. C’est plus performant que de passer par TCP, alors pourquoi s’en priver ?

Éditez le fichier de configuration :


Commencez par indiquer comme numéro de port afin que Redis ne soit pas en écoute sur le réseau : cela n’a aucun intérêt dans notre cas.


Ensuite, vous devez configurer la section Unix socket comme précisé ci-dessous. Cette configuration permet d’activer le socket Redis (accessible via ) et de limiter l’accès à ce dernier.


Enregistrez et fermez le fichier.

Relancez le service Redis pour appliquer la configuration :


Vérifiez la présence du socket Redis :


La configuration est terminée !

Tester la communication avec Redis

Pour s’assurer que Redis est bien accessible via le socket, exécutez la commande suivante :


Elle doit tout simplement renvoyer .

Si vous utilisez une connexion TCP, vous pourriez aussi faire ce test en exécutant la commande ci-dessous. Le résultat attendu est le même. Dans notre cas, cela ne fonctionnera pas parce que la connexion TCP est désactivée.


Autoriser PHP-FPM auprès de Redis

La configuration effectuée précédemment a permis de restreindre l’accès au socket Redis : seul le groupe et l’utilisateur ont accès au socket. Néanmoins, PHP-FPM doit aussi pouvoir interagir avec le socket Redis, pour les besoins de WordPress.

Vous devez donc ajouter l’utilisateur au groupe . Si vous utilisez des pools PHP-FPM, effectuez la même opération en utilisant vos noms d’utilisateurs.


Configuration de WordPress pour utiliser Redis

Le serveur Redis a été installé, l’extension PHP pour Redis également, et la configuration globale a été effectuée pour fonctionner en mode Socket. La suite des opérations s’effectue du côté de WordPress, dans le cas où vous souhaitez utiliser Redis avec ce CMS.

Installer l’extension Redis pour WordPress

Depuis l’interface d’administration de WordPress, vous devez installer l’extension Redis Object Cache. L’extension est gratuite, même s’il existe aussi une version payante. Une fois l’installation effectuée, activez l’extension.

La configuration s’effectue via : Réglages > Redis. Vous devriez voir un statut similaire à celui ci-dessous. WordPress cherche à se connecter en TCP à Redis, ce qui ne pourra pas fonctionner.

Déclarer Redis dans la configuration de WordPress

Basculez dans le Terminal de votre serveur, puis éditez le fichier de configuration de WordPress : .

Ajoutez ces trois lignes :


Attention, veillez à insérer ces lignes “assez haut” dans le fichier, ou en tout cas avant cette ligne (sinon, WordPress va planter) :


Par ailleurs, vous pouvez changer la valeur de la variable si besoin. Elle indique le numéro de base Redis, donc vous devez utiliser un index différent pour chacune de vos applications. Je dis cela notamment si vous avez plusieurs applications qui vont solliciter la même instance Redis.


Enregistrez et fermez le fichier.

Activer le cache objet Redis

Rafraîchissez la page WordPress. Le statut de Redis doit évoluer : il n’attend plus que d’être activé ! Cliquez sur le bouton “Activer le cache objet“.

Voilà, WordPress est connecté à Redis !

Dans le cas où vous rencontrez une erreur (par exemple : “Erreur lors de l’établissement d’une connexion Redis”), supprimez ce fichier pour récupérer l’accès à votre site :


Par la suite, je vous invite à consulter l’onglet “Mesures” de l’extension Redis via le dashboard de WordPress. Vous pourrez obtenir des informations intéressantes sur la façon dont votre cache Redis est sollicité par WordPress.

Conclusion

En suivant ce tutoriel, vous devriez être en mesure d’installer Redis sur Linux et d’intégrer le cache objet au niveau de WordPress. La configuration serveur est similaire pour d’autres applications (comme Matomo), c’est seulement l’intégration dans l’application en elle-même qui sera différente.

Ressources additionnelles :

SOURCE