WordPress alimente une grande partie du web, mais sa popularité met en évidence le défi que représente le maintien d’une performance optimale. Une solution puissante pour améliorer les performances de WordPress est la mise en cache d’objets Redis. L’utilisation de cette base de données clé-valeur en mémoire comme cache réduit le nombre de requêtes envoyées à la base de données principale d’un site.

Ce guide vous montre comment installer et utiliser la mise en cache d’objets Redis pour votre site web WordPress. Pour les clients de Kinsta, le processus est particulièrement simple.

Comprendre la mise en cache d’objets

Lorsque vous chargez une page WordPress, votre serveur doit généralement effectuer plusieurs requêtes auprès de la base de données pour récupérer le contenu, les réglages et les autres données dont il a besoin pour afficher la page. Chaque requête prend du temps, et au fur et à mesure que votre site grandit, ces petits retards peuvent s’accumuler et provoquer des ralentissements notables.

La mise en cache d’objets permet de stocker les résultats de ces requêtes de base de données dans la mémoire. Le cache stocke les requêtes que vous utilisez souvent et attend que vous en ayez besoin.

La mise en cache d’objets peut transformer la façon dont votre site WordPress gère la récupération et le traitement des données, et l’impact va au-delà de simples améliorations de la vitesse. Lorsque votre site connait des pics de trafic soudains, comme lors d’une campagne marketing réussie ou après une publication virale sur les réseaux sociaux, Redis peut servir de tampon entre vos visiteurs et votre base de données.

Au lieu que chaque visiteur déclenche de nouvelles requêtes à la base de données, Redis servira les données mises en cache à partir de la mémoire. Cela peut permettre à un site de gérer beaucoup plus d’utilisateurs simultanés sur l’ensemble du site sans dégradation des performances.

Pour un site de commerce électronique lors du Black Friday, les informations sur les produits mises en cache par Redis pourraient réduire la charge de la base de données et permettre à ce site de gérer un plus grand volume de trafic sans nécessiter de ressources de serveur supplémentaires. Cette efficacité se traduit directement par des économies sur les couts d’hébergement, car il peut servir plus de visiteurs avec l’infrastructure existante.

Comment WordPress utilise sa base de données

Comprendre la façon dont WordPress interagit avec sa base de données peut aider à expliquer pourquoi la mise en cache devient cruciale à mesure qu’un site grandit. Considérez ce qui se passe lorsque quelqu’un visite la page d’accueil de votre site. À moins qu’il ne réponde avec les résultats d’un cache de page, WordPress orchestre une symphonie complexe de requêtes de base de données pour construire une page dynamique.

La page d'accueil de Kinsta présente un service d'hébergement WordPress géré sur un fond dramatique rouge foncé et noir avec des motifs géométriques. Il y a deux boutons d'appel à l'action en dessous, intitulés Voir les caractéristiques et Voir les prix.
La page d’accueil principale du site Kinsta.

Voyons le chargement d’une page d’accueil typique : tout d’abord, WordPress interroge la table wp_options pour récupérer les réglages de votre site, la configuration du thème et les extensions actives.

L'interface de gestion de base de données SequelAce montre la table wp_options d'une installation WordPress. La table contient les paramètres de configuration du système avec les colonnes option_id, option_name et option_value. Plusieurs paramètres de WordPress sont visibles, notamment le statut des commentaires par défaut, les paramètres de ping, les formats de date et les configurations de modèles.
La table wp_options dans l’application SequelAce.

Si vous avez des widgets, des blocs ou des éléments supplémentaires dans votre colonne latérale, cela déclenchera des requêtes supplémentaires. Par exemple, une section Articles récents aura besoin de données sur les articles, les catégories ont besoin d’un nombre de termes, et toute fonctionnalité de recherche a besoin de construire un index.

L'interface de l'éditeur de site WordPress affiche un modèle d'article avec une section de titre, une zone de signature de l'auteur et une explication du bloc de contenu. Sur le côté droit se trouve une liste de catégories populaires montrant divers termes de taxonomie avec le nombre d'articles entre parenthèses. L'interface comprend des réglages pour l'affichage des catégories sous forme de menu déroulant, l'affichage du nombre d'articles et les options de hiérarchie.
Modification de la colonne latérale dans l’éditeur de site WordPress.

Si vous utilisez une extension de construction de pages ou un thème autrement complexe, ces requêtes se multiplieront de manière significative. La complexité s’accroit avec le contenu dynamique. Prenez l’exemple d’un blog où les articles affichent des informations sur l’auteur, des catégories, des étiquettes et des articles similaires :

Un billet de blog dans l'éditeur de site affichant le texte latin « Ducimus rerum provident rerum id voluptas officiis eos » comme titre. L'article comprend une date, un auteur et des taxonomies. Le contenu comprend plusieurs puces et une liste numérotée sur fond bleu, le tout écrit en latin.
Disposition d’un article de blog dans l’éditeur de site WordPress.

Chaque aperçu d’un article sur votre page d’accueil nécessite que WordPress joigne les données de plusieurs tables. Il extrait le contenu principal de wp_posts, récupère les détails de l’auteur de wp_users, et collecte les métadonnées de wp_postmeta. Une page d’accueil affichant seulement dix aperçus d’articles peut exécuter des douzaines de requêtes de base de données distinctes.

Les goulots d’étranglement de la base de données de WordPress

Cette architecture de base de données révèle également des goulots d’étranglement courants qui ont un impact sur les performances. Les types de publication personnalisés, bien que puissants pour organiser le contenu, doivent souvent s’appuyer sur wp_postmeta pour stocker des champs supplémentaires.

Certains sites web – pensez à une boutique en ligne ou à un annuaire immobilier – peuvent effectuer des centaines de requêtes par chargement de page juste pour afficher chaque produit ou propriété. Chacun doit afficher des détails individuels tels que la superficie, la quantité, le prix, les chambres à coucher, les variations, et plus encore, sous forme d’entrées de métadonnées séparées.

La table wp_options peut devenir un autre goulot d’étranglement. En effet, elle stockera les réglages de toutes les extensions qui les proposent.

L’impact devient plus prononcé lorsque vous tenez compte des visiteurs simultanés. Chaque utilisateur déclenchera son propre ensemble de requêtes, et WordPress effectuera un traitement indépendant pour chacune d’entre elles. Lors des pics de trafic, ce traitement peut créer un goulot d’étranglement qui ralentit l’ensemble d’un site.

Ces interactions avec la base de données rendent la mise en cache inestimable. Si vous implantez correctement la mise en cache d’objets Redis, elle peut intercepter ces requêtes répétées et stocker les résultats en mémoire. Au lieu d’exécuter plusieurs jointures et requêtes de métadonnées pour chaque visiteur, WordPress peut récupérer les données pré-traitées directement à partir de Redis. Le résultat est qu’il peut souvent réduire des douzaines de requêtes de base de données à une seule consultation du cache.

Choix populaires pour la mise en cache d’objets WordPress

Lorsqu’il s’agit de solutions de mise en cache d’objets pour WordPress, plusieurs options sont disponibles. Tous les hébergeurs ne prennent pas en charge toutes les options, ce qui signifie que vous devez vous assurer que votre choix de cache d’objet peut répondre à vos besoins.

Memcached est l’un des systèmes de mise en cache les plus anciens et les plus utilisés. Il s’agit d’un système de cache à mémoire distribuée simple et efficace. Il bénéficie d’un grand soutien grâce à sa longévité et est généralement léger en ce qui concerne l’utilisation des ressources. Avec un bon support et une bonne documentation, Memcached est une solution populaire pour la mise en cache d’objets à tous les niveaux.

La page d'accueil du projet Memcached présente un en-tête distinctif avec des personnages de lapin de style bande dessinée en blanc avec des accents turquoise. Le contenu principal explique que Memcached est un système de mise en cache de la mémoire distribuée, libre et gratuit. La page comprend une section « Quick Example » avec des exemples de code, une démonstration « Play with telnet » et une section « Supported By ».
Le site web de Memcached.

Étant donné que l’accent est mis sur la facilité d’utilisation, les scénarios plus complexes pourraient ne pas convenir à ce simple stockage de clés et de valeurs. Il n’offre pas non plus de stockage « persistant », ce qui signifie qu’il s’effacera au moment du chargement de la page suivante.

Couchbase peut offrir une solution plus complexe qui combine les capacités d’une base de données de documents, la fonctionnalité typique de stockage de valeurs clés et la mise en grappe (ou clustering) intégrée. Cette dernière technologie automatise le regroupement des données pour améliorer les performances – de la même manière que le défragmenteur de disque de Windows fonctionne pour améliorer les performances du disque de ce système d’exploitation.

Page d'accueil de Couchbase montrant une campagne de marketing ciblant les utilisateurs de MongoDB, avec le titre Realm regret ? Passez à Couchbase Mobile. La partie droite de l'écran affiche un éditeur de code montrant un exemple de requête SQL pour trouver des chaussures. Le bas de la page affiche les logos de grandes entreprises telles que DirectTV, Equifax, GE, PayPal et PepsiCo.
Le site web de Couchbase.

Cependant, le stockage clé-valeur de Couchbase est secondaire par rapport à son architecture axée sur les documents. Cela pourrait être un problème si vous avez besoin de moins de limitations de requêtes et d’une plus grande précision dans la validation et la cohérence des données.

Pourquoi Redis se distingue pour WordPress

Pour WordPress, Redis offre plusieurs avantages par rapport à la concurrence directe. Contrairement à Memcached, Redis prend en charge des structures de données complexes telles que les listes, les ensembles et les ensembles triés. Cela correspond bien aux besoins de WordPress en matière d’organisation des données et vous donne un moyen d’évoluer vers des configurations plus importantes et plus complexes.

Lorsqu’il s’agit d’utiliser ces différentes structures, l’« opération atomique » de Redis est cruciale. En bref, cette opération utilise un concept de transactions et regroupe diverses commandes pour les exécuter en une seule fois. La fonctionnalité réelle est plus complexe que cela, mais les opérations atomiques garantissent généralement la cohérence des données – ce qui est crucial pour tout site Web WordPress.

Il y a deux autres avantages à utiliser Redis avec WordPress :

  • Persistance. Redis peut conserver les données sur le disque. Cela permet une meilleure durabilité des données par rapport à une solution en mémoire.
  • Meilleure gestion de la mémoire. Redis offre des options de gestion de la mémoire plus sophistiquées que les autres outils de mise en cache. Cela peut vous permettre de mieux contrôler le comportement de votre cache d’objets.

Redis a des applications qui vont au-delà de la mise en cache d’objets, mais pour WordPress, la composition unique de la solution de base de données signifie que son stockage clé-valeur est presque un partenaire idéal.

La relation entre WordPress et Redis

WordPress inclut sa propre fonctionnalité de mise en cache d’objets par le biais de la fonction WP_Object_Cache. À la base, cette fonction agit comme une couche intermédiaire entre le code de votre site et la base de données en utilisant des fonctions standardisées pour gérer les données mises en cache.

Lorsqu’une extension ou un thème demande des données, WordPress vérifie d’abord si les données existent dans le cache d’objets à l’aide de ces fonctions intégrées. Par exemple, voici un code qui récupère le nombre de commentaires d’un utilisateur :

function get_user_comment_count($user_id) {
    // Generate a unique cache key
    $cache_key = 'user_comment_count_' . $user_id;
    
    // Try to get the value from cache first
    $comment_count = wp_cache_get($cache_key, 'user-stats');
    
    // If not in cache, query the database
    if (false === $comment_count) {
        global $wpdb;
        $comment_count = $wpdb->get_var(
            $wpdb->prepare(
                "SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d",
                $user_id
            )
        );
        
        // Store the result in cache for future requests
        wp_cache_set($cache_key, $comment_count, 'user-stats', 3600); // Cache for 1 hour
    }
    
    return $comment_count;
}

Lorsqu’elle est correctement configurée avec Redis, la fonction intercepte les requêtes de base de données et vérifie si les données nécessaires existent dans le cache Redis avant que WordPress n’effectue une requête dans la base de données.

Et l’intégration s’étend au-delà du simple stockage clé-valeur. La capacité de Redis à gérer des structures de données complexes reflète l’organisation hiérarchique du contenu de WordPress. Par exemple, lorsque WordPress a besoin de récupérer le résultat d’une requête complexe, comme toutes les pages enfants d’une page parent avec leurs métadonnées associées, Redis stocke l’ensemble de cette structure de données sous la forme d’une entrée unique dans le cache.

Cette intégration pourrait améliorer considérablement les performances. Redis stocke toutes les données en mémoire, ce qui signifie que les temps d’accès sont exprimés en microsecondes plutôt qu’en millisecondes, comme c’est généralement le cas pour les requêtes de base de données. Cela ne semble pas très important, mais pour les sites qui utilisent beaucoup les bases de données, cette différence peut se traduire par des temps de chargement des pages deux ou trois fois plus rapides.

Le cache objet de WordPress prend également en charge des fonctionnalités Redis avancées grâce à une configuration supplémentaire. Par exemple, vous pouvez mettre en place des balises de cache pour une gestion plus granulaire du cache :

function get_category_posts($category_id) {
    $cache_key = 'category_posts_' . $category_id;
    
    $posts = wp_cache_get($cache_key, 'category-posts');
    
    if (false === $posts) {
        $posts = get_posts(array(
            'category' => $category_id,
            'posts_per_page' => 10
        ));
        
        wp_cache_set(
            $cache_key,
            $posts,
            'category-posts',
            3600,
            array(
                'tags' => array(
                    'category_' . $category_id,
                    'front_page_content'
                )
            )
        );
    }
    
    return $posts;
}

// Later, when a post in this category updates:
wp_cache_delete_by_tag('category_' . $category_id);

Cette relation entre WordPress et Redis crée un puissant système de mise en cache qui gère intelligemment la persistance des données tout en maintenant leur cohérence. La fonction WP_Object_Cache garantit que toutes vos extensions et thèmes peuvent bénéficier de la mise en cache Redis sans nécessiter d’implémentation directe. De plus, les fonctionnalités avancées de Redis offrent la flexibilité dont tu as besoin pour les installations WordPress complexes.

Les clients de Kinsta peuvent installer Redis en moins de 5 minutes

Considérez un scénario typique : votre boutique WooCommerce ralentit avec l’augmentation du trafic. Chez de nombreux hébergeurs, la mise en œuvre de Redis implique l’accès au serveur, l’installation manuelle, la configuration des réglages de sécurité et des tests minutieux. Cela peut facilement représenter une journée de travail technique – et plus si vous rencontrez des erreurs. L’implémentation de Redis par Kinsta transforme entièrement ce processus.

Vous avez la possibilité d’ajouter la mise en cache d’objets Redis en quelques clics dans le tableau de bord MyKinsta pour 100 USD par mois. Les clients peuvent naviguer vers les sites WordPress > nom du site > Modules > Cache Redis (ou Sites WordPress > nom du site > Cache > Redis) et cliquer sur le bouton Activer:

Le module de mise en cache Redis se trouve dans le tableau de bord MyKinsta.
Le module de mise en cache Redis se trouve dans le tableau de bord MyKinsta.

L’intégration de Kinsta peut avoir un impact important sur votre site et ses performances :

  • Elle applique une configuration optimale pour les sites web WordPress. Cela inclut l’ajustement des délais d’expiration du cache – pour les cas où les abandons de panier pourraient être problématiques. L’optimisation des délais d’expiration est un problème courant qui peut affliger les installations Redis mal configurées.
  • L’intégration de Redis s’exécute silencieusement en arrière-plan. Pour vous, c’est une bonne nouvelle car vous pouvez continuer à gérer votre site tout en bénéficiant des performances que la mise en cache des objets vous procurera.
  • Vous disposez d’une certaine flexibilité lorsqu’il s’agit de surveiller votre cache d’objets et vous bénéficiez d’une intégration profonde avec les fonctionnalités et l’architecture de Kinsta.

L’intégration avec d’autres outils au sein de MyKinsta est un énorme avantage, car Redis devient une partie de votre stratégie globale de mise en cache. Le suivi de l’impact des performances est également une facette essentielle que vous devez prendre en compte.

Comment mettre en place Redis pour votre site Kinsta ?

La configuration initiale de la mise en cache d’objets Redis avec votre site WordPress hébergé par Kinsta est rapide. Lorsque vous activez le module, Kinsta installe et configure automatiquement l’extension Redis Object Cache. Cela réduit la nécessité d’une installation et d’une configuration supplémentaires. Vous avez également la possibilité d’utiliser une autre extension de connexion si vous le souhaitez, bien que vous deviez désactiver l’extension Redis Object Cache depuis WordPress. Pour cela, cliquez sur le lien Désactiver dans le groupe de l’extension dans le tableau de bord d’administration de WordPress :

La page des extensions WordPress et l'extension Redis Object Cache.
La page des extensions WordPress et l’extension Redis Object Cache.

Une grande partie de la gestion de votre installation Redis se fera sur votre site web WordPress par le biais des réglages de votre extension. Il s’agit notamment de vider le cache. L’extension Kinsta MU ajoute cette option à la barre d’outils de WordPress :

Le tableau de bord d'administration de WordPress montrant l'option Object Cache dans la barre d'outils.
Le tableau de bord d’administration de WordPress montrant l’option Object Cache dans la barre d’outils.

Cependant, il existe quelques moyens d’effacer le cache Redis en dehors de WordPress. Par exemple, site WordPress > nom du site > Cache > Cache serveur dans MyKinsta vous permettra de le faire :

L'écran cache serveur dans le tableau de bord de MyKinsta.
L’écran cache serveur dans le tableau de bord de MyKinsta.

Cette option efface tous les caches que votre site utilise, tout comme les approches alternatives utilisant Secure Shell (SSH) et la WP-CLI.

Comment installer Redis sur d’autres hébergeurs WordPress ?

Bien que Redis soit un moyen populaire de mettre en place un cache d’objets, tous les hébergeurs n’offrent pas l’accès ou l’intégration. Cela signifie que vous devrez peut-être vous salir les mains avec du code sur votre serveur.

Chaque hébergeur aura une approche différente pour cela – certains ne vous donneront même pas l’accès à la racine dont vous avez besoin. Cependant, les étapes typiques comprennent la préparation du serveur, l’installation de Redis et la configuration de WordPress pour qu’il l’utilise.

Préparation et installation du serveur

L’installation de Redis nécessite un environnement de serveur correctement configuré. Pour certains hébergeurs WordPress, cela peut signifier que vous devez choisir un plan adapté. Il est probable que vous ne puissiez pas le faire sur un hébergement partagé typique ou même sur des niveaux gérés. Un serveur privé virtuel (VPS) sera le point de départ de vos efforts, mais un hébergement cloud dédié sera idéal.

Quoi qu’il en soit, votre installation PHP aura besoin de l’extension phpredis. L’installation de cette extension permet à Redis de fonctionner avec PHP – ce qui est essentiel pour travailler également avec WordPress. Vous devrez utiliser des drapeaux de compilation et des options de configuration spécifiques, qui sont nombreux.

Sur les systèmes Ubuntu, installez les composants nécessaires avec :

sudo apt-get update
sudo apt install redis server

Une fois le processus d’installation terminé, lancez sudo service redis status pour vérifier que Redis fonctionne comme vous le souhaitez. Vous pouvez aussi lancer redis-cli --version pour vérifier que l’installation se termine comme prévu.

Une fois que Redis fonctionne sur votre serveur, vous pouvez installer l’extension phpredis:

sudo apt-get install php-redis
sudo phpenmod redis

C’est tout ce que vous avez à faire pour installer Redis, mais vous devez encore le configurer pour votre serveur et les ressources dont vous disposez.

Configuration de Redis

Le fichier de configuration du serveur Redis aura besoin de votre attention avant que vous ne le laissiez commencer à travailler sur votre site. La première tâche consiste à comprendre si WordPress et Redis fonctionnent sur le même serveur. Généralement, c’est le cas, vous devez donc lier l’adresse de localhost (127.0.0.1).

Vous pouvez choisir n’importe quel éditeur pour accéder à votre fichier de configuration Redis, mais nano est parfait et sera disponible sur presque toutes les instances de serveur que vous trouverez :

sudo nano /etc/redis/redis.conf

Dans la majorité des cas, vous pouvez trouver la bonne ligne et la décommenter avant d’enregistrer vos modifications :

bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6

Il se peut que vous vouliez apporter d’autres modifications à ce fichier de configuration. Voici une configuration optimale pour les sites WordPress :

maxmemory 256mb
maxmemory-policy allkeys-lru
appendonly yes
appendfsync everysec
save 900 1
save 300 10
save 60 10000

Chaque choix de configuration a un but précis :

  • Le paramètre maxmemory de 256 Mo constitue un bon point de départ pour la plupart des installations WordPress. Ce réglage empêche Redis de consommer une quantité excessive de mémoire système tout en conservant un espace de cache suffisant pour améliorer les performances de manière significative.
  • Le paramètre allkeys-lru maxmemory-policy permet de s’assurer que le contenu le plus fréquemment consulté reste dans le cache. Certains sites bénéficient plutôt de volatile-lru, notamment lorsqu’il s’agit de mettre en cache les données de session en même temps que le contenu régulier.
  • Les paramètres appendonly et appendfsync gèrent le comportement de Redis en matière de persistance. Bien que Redis serve principalement de cache, le maintien de la persistance permet d’éviter les pertes totales de cache lors du redémarrage du serveur. Le paramètre everysec établit un équilibre entre les performances et la sécurité des données.

Les directives save contrôlent le moment où Redis crée des instantanés ponctuels de l’ensemble de données. L’exemple de configuration indique à Redis de sauvegarder :

  • Toutes les 15 minutes après une modification.
  • Toutes les cinq minutes après 10 modifications.
  • Toutes les minutes après 10.000 modifications.

Ces paramètres de persistance permettront de maintenir l’efficacité du cache tout en protégeant contre la perte de données.

Configuration de la sécurité Redis et test des modifications

!vous devriez également vous pencher sur la sécurité ici. Par exemple, vous pouvez configurer l’authentification par mot de passe à l’aide de la commande requirepass et même renommer les commandes « dangereuses ». La liste de contrôle d’accès (ACL) de Redis impose des limites à certaines commandes destructrices, et vous devriez consulter toute la liste pour voir si l’une d’entre elles peut vous affecter.

Une fois que vous avez terminé toutes ces étapes, c’est une bonne idée de tester les performances de votre serveur Redis. L’interface de programmation de Redis propose plusieurs commandes de test à cette fin :

redis-cli --latency
redis-cli info | grep used_memory_human
redis-cli info | grep connected_clients

En bref, elles établissent des mesures de performance de base pour une surveillance continue et devraient faire partie de votre flux de travail de maintenance régulier.

Configuration de WordPress

Une fois que Redis fonctionne sur votre serveur, WordPress doit être configuré pour l’utiliser en tant que cache d’objets. La configuration comprend généralement la spécification des détails de la connexion Redis, tels que l’hôte, le port et les informations d’authentification.

!vous pouvez ajouter manuellement le fichier drop-in de cache d’objet approprié à votre répertoire wp-content, bien que l’installation d’une extension de cache d’objet Redis dédié soit le meilleur moyen d’y parvenir. La seule que nous recommandons ici est l’extension Redis Object Cache mentionné ci-dessus, car Kinsta ne prend pas en charge de nombreuses extensions de mise en cache en raison de ses propres fonctionnalités. L’extension Redis Object Cache est plutôt une aide pour connecter WordPress au stockage de valeurs clés.

La gestion de Redis au-delà de l’installation

Les installations typiques de cache d’objets Redis fournissent un accès à la CLI Redis. Chez Kinsta, cela s’étend à l’ensemble de votre flux de développement, comme avec les environnements de staging et DevKinsta.

Surveillance fondamentale

Cette interface de ligne de commande vous offre de puissantes possibilités de vous connecter à votre instance Redis et d’avoir un aperçu immédiat du fonctionnement de votre cache. Par exemple, vous pouvez révéler des modèles de données mises en cache, analyser l’utilisation de la mémoire et exécuter des tâches de maintenance en temps réel.

Pour une surveillance de base, il y a quelques commandes essentielles à noter :

redis-cli INFO stats           # View cache hits and misses
redis-cli INFO memory         # Check memory utilization
redis-cli MONITOR            # Watch live cache operations

La commande MONITOR diffuse les opérations de cache en temps réel, ce qui montre exactement comment WordPress interagit avec Redis. Cette visibilité vous aide à identifier les modèles de cache et les opportunités d’optimisation. La commande SLOWLOG identifie les requêtes problématiques :

redis-cli SLOWLOG GET 10     # View the 10 slowest recent operations
redis-cli SLOWLOG RESET      # Clear the slow log for fresh monitoring

Vous avez des options qui s’étendent beaucoup plus loin dans ce que Redis peut offrir.

Commandes de surveillance de Redis plus approfondies

Un moyen simple de maitriser les ressources consiste à surveiller les limites de connexion de Redis. C’est un excellent moyen de prévenir l’épuisement des ressources :

redis-cli CLIENT LIST | wc -l    # Count active connections
redis-cli CONFIG GET maxclients  # Check maximum allowed connections

WordPress utilise Redis pour accélérer l’accès en lecture à sa base de données. Les entrées du cache sont persistantes et peuvent toujours être remises en cache à l’avenir. Pour cela, Redis prend en charge les « politiques d’éviction » pour les clés qu’il stocke.

Cependant, cela peut présenter des inconvénients sous la forme d’une pression sur la mémoire. Un faible « taux de réussite » – qui compare le nombre total d’opérations à celles effectuées sur les clés existantes – en est la preuve, c’est pourquoi le suivi des paramètres suivants peut s’avérer vital :

redis-cli INFO stats | grep evicted_keys
redis-cli INFO stats | grep hit_rate

Si vous trouvez que votre base de données souffre de la pression de la mémoire, vous pouvez choisir d’augmenter la mémoire disponible, d’optimiser les politiques d’expiration des clés et de mettre en place des stratégies de mise en cache sélectives. L’approche exacte que vous adopterez dépendra de votre site et de la pression que subit votre mémoire.

Utiliser une interface graphique avec Redis

Il y a beaucoup plus à découvrir avec les commandes Redis et l’utilisation de l’interface graphique, même si ce ne sera pas un outil approprié pour certains. C’est là que l’application Redis Insight peut être utile.

L'application GUI Redis Insight.
L’application GUI Redis Insight.

Elle vous donne une interface graphique pour visualiser votre cache d’objets Redis sans avoir besoin d’un terminal, d’un accès au serveur ou d’un travail en ligne de commande. Comme vous travailleriez avec un outil tel que TablePlus ou SequelAce pour visualiser votre base de données WordPress, une application telle que Redis Insight est rapide à mettre en place et pourrait rationaliser votre flux de travail.

Défis et solutions courants pour Redis

La plupart du temps, votre installation Redis fonctionnera sans maintenance supplémentaire. Cependant, certaines mises en œuvre de Redis peuvent présenter des défis qui exigeront votre attention. Par exemple, vous pourriez voir un avertissement dans MyKinsta indiquant que WordPress ne peut pas détecter une extension de connexion appropriée.

Cet avertissement apparait lorsque vous choisissez d’utiliser une extension autre que Redis Object Cache et peut être ignoré dans la grande majorité des cas. Cependant, notez que le fonctionnement optimal de Redis repose sur une extension de connexion appropriée.

Par exemple, il se peut que vous ne voyez pas les bonnes mesures lors de l’analyse dans l’outil APM de Kinsta (ou d’autres outils d’analyse de Kinsta). Cela devrait être quelque chose que vous pouvez contrer et résoudre si vous choisissez de construire une instance Redis personnalisée avec Kinsta.

C’est aussi une bonne idée de comprendre les limites de l’intégration Redis de Kinsta. Par exemple, vous pouvez voir diverses erreurs lorsque vous utilisez un type d’installation WordPress atypique. L’utilisation d’une installation Bedrock est une raison fréquente d’erreurs et l’équipe de support de Kinsta peut vous aider à les résoudre.

Résumé

La mise en cache d’objets Redis permet d’améliorer considérablement les performances des sites WordPress grâce à un stockage et une récupération efficaces des données. Le succès réside dans une mise en œuvre correcte, une surveillance régulière et une maintenance. L’utilisation de la solution infogérée de Kinsta vous permet de travailler dans le cadre de ces principes pour garantir une performance optimale du site.

Chaque étape de la mise en œuvre de Redis s’appuie sur la précédente. Tout d’abord, commencez par une configuration adéquate du serveur. Ensuite, il faut intégrer WordPress. Enfin, les gains de performance peuvent être maintenus grâce à un suivi et une optimisation réguliers. Cette approche vous aidera à créer une infrastructure de mise en cache robuste qui grandit avec votre site, avec Kinsta à la base.

Avez-vous des défis que l’implémentation de Kinsta pour la mise en cache d’objets Redis résout ? Vos commentaires sont les bienvenus dans la section des commentaires ci-dessous !

Steve Bonisteel Kinsta

Steve Bonisteel est un rédacteur technique chez Kinsta qui a commencé sa carrière d'écrivain en tant que journaliste de presse écrite, chassant les ambulances et les camions de pompiers. Il couvre les technologies similaires à l'Internet depuis la fin des années 1990.