Installer Redis pour accélérer WordPress sous Debian

Aujourd’hui, nous installons le serveur Redis pour accélérer les temps de chargement de tous les sites présents sur le serveur.

Redis (de l’anglais REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant » et jeu de mot avec Redistribute1) est un système de gestion de base de données clef-valeur scalable, très hautes performances, écrit en C ANSI.

Il fait partie de la mouvance NoSQL et vise à fournir les performances les plus élevées possibles.

Redis permet de manipuler des types de données simples : chaînes de caractères, tableaux associatifs, listes, ensembles et ensembles ordonnés.

Une des principales caractéristiques de Redis est de conserver l’intégralité des données en RAM. Cela permet d’obtenir d’excellentes performances en évitant les accès disques, particulièrement coûteux sur ce plan.

Lorsqu’une page WordPress est chargée par exemple, des requêtes sur la base de données sont lancées et cela prend un certain temps pour récupérer ces informations.

Lorsque Redis est activé, il garde ces requêtes SQL en mémoire, ce qui permet de gagner en temps de chargement des pages.

Voici donc le tutoriel pour mettre en place Redis sur votre serveur. Cela prend environ 15 minutes.

Installation du serveur Redis

Nous installons le serveur Redis et le paquet PHP associé:

apt install redis-server php-redis

Nous vérifions que Redis est bien actif, il nous suffit de lancer redis-cli:

redis-cli

On tape ping dans l’invite:

127.0.0.1:6379> pingCode language: CSS (css)

Réponse:

PONG

Parfait, le serveur Redis est bien installé et actif.

Configuration de Redis

Editons le fichier de configuration de Redis :

nano /etc/redis/redis.conf

Changez les valeurs suivantes :

maxmemory 256mb # max memory 
maxmemory-policy allkeys-lru # replace old keys with fresher ones
requirepass VOTRE-MOT-DE-PASSECode language: PHP (php)

Enregistrez et relancez le serveur pour prendre en charge la nouvelle configuration:

service redis-server restart

Configuration de WordPress

Editez le fichier wp-config.php :

nano wp-config.phpCode language: CSS (css)

et ajoutez :

// REDIS
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', '6379');
define('WP_REDIS_PASSWORD', 'VOTRE-MOT-DE-PASSE');
define('WP_CACHE_KEY_SALT', 'domain.tld');Code language: JavaScript (javascript)

Pensez à bien mettre le même mot de passe que celui que vous avez utilisé dans la configuration de Redis. WP_CACHE_KEY_SALT est très important pour différencier les différentes clés (en les préfixant avec le nom de domaine) si vous avez plusieurs sites qui tournent sur votre serveur.

Ensuite, il ne nous reste plus qu’à installer et activer le plugin Redis Object Cache.

Monitoring des clés Redis

Si vous souhaitez voir ce que Redis met en cache, il suffit d’utiliser redis-cli:

redis-cli
127.0.0.1:6379> Code language: CSS (css)

Authentifiez-vous :

auth VOTRE-MOT-DE-PASSE
OK

Ensuite, lancez la commande monitor:

127.0.0.1:6379> monitor
OK
1535617229.810504 [0 127.0.0.1:59536] "AUTH" "VOTRE-MOT-DE-PASSE"
1535617229.810686 [0 127.0.0.1:59536] "PING"
1535617229.811333 [0 127.0.0.1:59536] "GET" "skyminds.netwp_:default:is_blog_installed"
1535617229.812524 [0 127.0.0.1:59536] "GET" "skyminds.netwp_:options:notoptions"
1535617229.812717 [0 127.0.0.1:59536] "GET" "skyminds.netwp_:options:alloptions"Code language: CSS (css)

Retrouvez plus d’informations sur redis-cli sur le site officiel.

Voilà, vous avez mis en place Redis sur votre serveur et pouvez maintenant ajouter la configuration WordPress aux autres sites.

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

Opinions