Vous avez peut-être déjà entendu parler d’un serveur Redis en installant WordPress, en découvrant un framework PHP ou en cherchant à améliorer les performances d’un site web. Mais à quoi sert réellement Redis ? Derrière ce nom se cache un concept beaucoup plus simple qu’il n’y paraît.
Dans ce guide, vous allez découvrir le fonctionnement d’un serveur Redis avec des explications simples, des exemples concrets et une installation pas à pas en local. À la fin de votre lecture, vous saurez dans quels cas Redis devient vraiment utile, comment il complète une base de données comme MySQL et commencer à l’utiliser dans certains de vos propres projets PHP.
- Comprendre le rôle de Redis et pourquoi il est devenu incontournable pour accélérer les applications web modernes.
- Identifier les situations où Redis apporte un véritable gain de performances, et celles où un simple cache ou une base MySQL suffisent.
- Apprendre à installer Redis sur votre ordinateur et à l’utiliser dans un premier projet PHP.
Lorsque l’on commence à développer des sites web, on entend très vite parler de bases de données, de cache, de performances ou encore d’optimisation. Puis, un jour, un nouveau nom apparaît : Redis.
Au premier abord, ce terme peut sembler réservé aux développeurs expérimentés ou aux grandes entreprises comme Facebook, Instagram ou GitHub. Pourtant, un serveur Redis est aujourd’hui utilisé dans une multitude de projets, y compris des sites web de taille modeste.
Mais à quoi sert réellement Redis ? Pourquoi de plus en plus de frameworks, de CMS et d’applications proposent-ils une compatibilité avec ce serveur ? Est-ce une base de données ? Un cache ? Un logiciel capable de remplacer MySQL ?
L’objectif n’est pas seulement de vous montrer comment l’utiliser, mais surtout de vous faire comprendre son rôle. Une fois ce principe assimilé, Redis vous paraîtra beaucoup plus simple qu’il n’y paraît.
- Qu'est-ce qu'un serveur Redis ?
- Comment Redis organise-t-il les données ?
- Faut-il absolument utiliser Redis ?
- Quand un serveur Redis devient-il vraiment utile ?
- Un cache peut-il remplacer Redis ?
- Redis, MySQL et Memcached : quelles différences ?
- La persistance Redis : comment vos données survivent-elles à un redémarrage ?
- Redis est-il disponible sur un hébergement mutualisé ?
- Installer un serveur Redis en local
- Utiliser Redis avec PHP
- Exemple concret : mettre en cache une requête MySQL
- Faut-il tout stocker dans Redis ?
Qu’est-ce qu’un serveur Redis ?
Commençons par la question la plus importante.
Un serveur Redis est un logiciel capable de stocker des informations directement dans la mémoire vive (RAM) d’un ordinateur.
La mémoire vive, également appelée RAM, est la mémoire utilisée par votre ordinateur pour conserver temporairement les informations dont il a besoin immédiatement. Contrairement au disque dur ou au SSD, son accès est extrêmement rapide.
Imaginez votre bureau lorsque vous travaillez.
Le disque dur représente une grande armoire de rangement. Vous pouvez y stocker énormément de documents, mais chaque fois que vous souhaitez consulter un dossier, vous devez vous lever, ouvrir l’armoire puis retrouver le bon classeur.
La mémoire RAM, elle, correspond au bureau situé juste devant vous. Vous y déposez uniquement les documents dont vous avez besoin dans l’immédiat. Vous n’avez qu’à tendre la main pour les consulter.
- C’est exactement le principe de Redis.
Au lieu d’aller lire constamment des informations sur le disque, Redis les conserve directement en mémoire afin qu’elles soient disponibles presque instantanément.
Cette différence paraît anodine, mais elle permet parfois de multiplier les performances d’une application.
Redis n’est pas une base de données classique
L’une des erreurs les plus fréquentes consiste à croire que Redis remplace une base de données comme MySQL. En réalité, ces deux outils remplissent des rôles très différents.
Une base de données relationnelle comme MySQL est conçue pour conserver durablement des informations.
Par exemple :
- les utilisateurs
- les commandes d’une boutique
- les articles d’un blog
- les commentaires
- les factures…
Ces données doivent rester disponibles même après l’arrêt du serveur.
Redis adopte une approche différente : Son objectif principal est d’accéder très rapidement à des informations temporaires.
On pourrait résumer les deux outils de cette façon.
MySQL répond à la question :
« Je dois conserver cette donnée pendant plusieurs années. »
Redis répond plutôt :
« Je vais avoir besoin de cette donnée très souvent dans les prochaines minutes ou les prochaines heures. »
Dans la majorité des projets web, Redis vient donc compléter une base de données plutôt que la remplacer.
Pourquoi Redis est-il aussi rapide ?
La rapidité de Redis provient principalement d’un choix de conception très simple : tout est stocké en mémoire vive.
Prenons un exemple : Imaginons que votre site affiche la liste des dix derniers articles publiés.
Sans Redis, chaque visiteur provoque généralement plusieurs opérations :
- PHP exécute votre programme.
- Le programme se connecte à MySQL.
- MySQL lit les données sur le disque.
- Les résultats sont renvoyés à PHP.
- La page est générée.
Pour un visiteur, cela paraît instantané.
Mais imaginez maintenant que mille personnes consultent cette même page au même moment. La base de données reçoit alors mille demandes identiques. Elle travaille énormément… alors que le résultat est toujours le même.
Redis change complètement cette logique.
La première fois que la page est demandée, les informations sont récupérées depuis MySQL. Puis Redis les mémorise dans sa mémoire. Les visiteurs suivants n’interrogent plus la base de données. Ils récupèrent directement les données déjà présentes dans Redis.

Le gain de temps devient considérable.
Comment Redis organise-t-il les données ?
Contrairement à MySQL, Redis n’utilise pas de tables composées de colonnes et de lignes. Il fonctionne principalement avec un système appelé clé / valeur.
Le principe est extrêmement simple.
Imaginez une immense armoire remplie de tiroirs. Chaque tiroir possède une étiquette : Cette étiquette représente la clé.
À l’intérieur du tiroir se trouve l’information : Cette information représente la valeur.
nom_utilisateur → Alban
panier_1548 → 3 produits
visiteur_connecte → oui
article_25 → Contenu de l'article
Lorsqu’une application souhaite retrouver une information, elle ne parcourt pas toute une table.
Elle demande directement :
« Donne-moi la valeur correspondant à cette clé. »
Redis retrouve alors presque instantanément le bon élément. C’est cette simplicité qui explique en partie sa vitesse exceptionnelle.
Redis ne stocke pas uniquement du texte
Le système clé / valeur pourrait laisser penser que Redis ne sait mémoriser que de simples mots.
En réalité, il sait gérer plusieurs types de données.
Par exemple :
- une chaîne de caractères
- un nombre
- une liste
- un ensemble de valeurs
- une table associative
- une file d’attente
- des données géographiques
- des flux de messages
Rassurez-vous si ces termes vous semblent abstraits. Vous n’aurez pas besoin de tous les connaître pour utiliser Redis.
Dans la plupart des projets PHP ou WordPress, quelques types de données suffisent largement. Nous les découvrirons progressivement au fil des exemples.
Les données disparaissent-elles lorsqu’on éteint le serveur ?
Puisque Redis travaille principalement dans la mémoire RAM, que devient son contenu lorsque l’ordinateur s’éteint ?
Par défaut, la mémoire vive est vidée.
Autrement dit, tout ce qui s’y trouvait disparaît.
Heureusement, Redis possède plusieurs mécanismes permettant de sauvegarder régulièrement son contenu sur le disque.
Lors du redémarrage, il peut recharger automatiquement ces données. On parle alors de persistance. Vous pouvez considérer cette fonctionnalité comme une sauvegarde automatique.
Redis continue à profiter de la rapidité de la mémoire vive, tout en limitant les risques de perte d’informations importantes.
Selon les besoins de votre application, cette persistance peut être activée, désactivée ou configurée plus finement. Nous reviendrons sur ce point lorsque nous installerons notre premier serveur Redis.
Faut-il absolument utiliser Redis ?
La réponse est simple : non.
- Beaucoup de sites web fonctionnent parfaitement sans Redis.
Si vous développez un petit site vitrine, un portfolio personnel ou une application utilisée par quelques visiteurs par jour, vous n’en ressentirez probablement jamais le besoin.
En revanche, dès qu’un site commence à effectuer de nombreuses requêtes identiques, à gérer plusieurs centaines d’utilisateurs connectés ou à exécuter des traitements répétitifs, Redis devient un excellent allié.
C’est précisément cette frontière entre un projet « classique » et un projet qui gagne réellement à utiliser Redis que nous allons explorer dans la suite de ce tutoriel.
Quand un serveur Redis devient-il vraiment utile ?
Maintenant que vous connaissez le principe de fonctionnement d’un serveur Redis, une question se pose naturellement.
Si Redis est aussi performant, pourquoi ne l’utilise-t-on pas systématiquement ?
La réponse est assez simple : tout dépend des besoins de votre application.
Un serveur Redis apporte une véritable valeur ajoutée lorsqu’il permet d’éviter des traitements répétitifs. Si votre site ne réalise que quelques dizaines de visites par jour, il est probable que votre serveur soit déjà largement capable de répondre aux demandes sans optimisation particulière.
En revanche, plus votre application grandit, plus certaines opérations deviennent coûteuses. Redis intervient justement pour soulager le serveur en mémorisant temporairement les informations les plus sollicitées.
| Type de projet | Trafic approximatif | Redis utile ? | Pourquoi ? |
|---|---|---|---|
| Site vitrine HTML | Jusqu’à 10 000 visiteurs/jour | ❌ Non | Les pages sont déjà statiques. Redis n’apporte quasiment aucun gain. |
| Petit blog WordPress | Moins de 500 visiteurs/jour | ❌ Peu utile | Les performances sont généralement suffisantes avec un bon cache de pages. |
| Blog WordPress actif | 500 à 5 000 visiteurs/jour | 🟡 Selon les besoins | Redis commence à réduire le nombre de requêtes MySQL et améliore la fluidité. |
| Gros blog WordPress | Plus de 5 000 visiteurs/jour | ✅ Oui | Redis soulage fortement MySQL et améliore les temps de réponse. |
| Boutique WooCommerce | Dès 100 à 300 commandes/jour | ✅ Oui | Les paniers, sessions et requêtes sont nombreux et profitent du cache Redis. |
| Site e-commerce à fort trafic | Plus de 2 000 visiteurs/jour | ✅ Très recommandé | Redis accélère les pages, les recherches produits et les sessions utilisateurs. |
| Application PHP métier | Plusieurs dizaines d’utilisateurs simultanés | ✅ Oui | Les traitements répétitifs et les sessions bénéficient directement de Redis. |
| API REST | Plus de 50 requêtes/seconde | ✅ Oui | Redis permet de mettre en cache les réponses et de limiter les calculs. |
| Forum ou réseau social | Quelques centaines d’utilisateurs connectés simultanément | ✅ Indispensable | Sessions, notifications et cache sollicitent énormément la base de données. |
| SaaS (logiciel en ligne) | Plusieurs centaines d’utilisateurs actifs | ✅ Indispensable | Redis gère efficacement les sessions, les files d’attente et le cache applicatif. |
Voyons plusieurs situations concrètes.
Exemple n°1 : accélérer un site WordPress
Prenons un exemple que beaucoup connaissent…
Vous ouvrez la page d’accueil d’un blog WordPress. À première vue, cette page semble être un simple document HTML. Pourtant, avant de l’afficher, WordPress réalise énormément de travail.
Il doit charger les extensions actives, récupérer les informations du thème, lire les articles dans MySQL, afficher les menus, charger les widgets, calculer les droits de l’utilisateur connecté, récupérer les commentaires récents et exécuter de nombreuses fonctions PHP.
- Tout cela est répété pour chaque visiteur.
Même si deux personnes ouvrent exactement la même page à quelques secondes d’intervalle, WordPress recommence pratiquement tous les calculs.
C’est un peu comme si un boulanger préparait une nouvelle pâte à pain chaque fois qu’un client entre dans la boutique, alors que le pain est déjà prêt sur l’étagère.
Redis permet d’éviter cette répétition.
Après le premier calcul, certaines données sont conservées en mémoire. Les visiteurs suivants récupèrent directement ces informations, sans solliciter inutilement MySQL.
Le résultat est souvent spectaculaire :
- les pages s’affichent plus rapidement
- le serveur travaille moins
- il devient capable d’accepter davantage de visiteurs simultanément
C’est la raison pour laquelle de nombreux hébergeurs proposent aujourd’hui Redis comme option pour WordPress.
Exemple n°2 : conserver les sessions utilisateur
Lorsque vous vous connectez à un site web, le serveur doit retenir que vous êtes authentifié. Ces informations sont appelées des sessions.
Sans Redis, ces sessions sont généralement enregistrées dans des fichiers ou directement dans une base MySQL.
- Cela fonctionne très bien pour un petit site.
Mais imaginez maintenant une boutique en ligne accueillant plusieurs milliers de clients connectés en même temps.
Chaque clic modifie la session :
- le panier évolue
- l’utilisateur change d’adresse
- un coupon de réduction est appliqué
- le mode de livraison est sélectionné
Le serveur doit donc lire et écrire ces informations en permanence.
Redis excelle dans ce domaine.
Comme tout est stocké en mémoire, la lecture et l’écriture des sessions deviennent presque instantanées.
Les frameworks modernes comme Laravel ou Symfony savent d’ailleurs utiliser Redis pour cette tâche avec très peu de configuration.
Exemple n°3 : mémoriser le résultat d’une requête complexe
Imaginons un site immobilier.
La page d’accueil affiche les biens :
- disponibles
- dans un rayon de 20 kilomètres
- ayant au moins trois chambres
- avec une piscine
- dont le prix est inférieur à 300 000 €
Pour répondre à cette demande, MySQL doit effectuer plusieurs recherches, comparer de nombreuses colonnes et trier les résultats.
Ce calcul peut prendre plusieurs centaines de millisecondes.
Cela paraît peu. Mais si cette même recherche est exécutée plusieurs centaines de fois dans la journée, le serveur répète inutilement exactement le même travail.
Redis peut conserver le résultat de cette requête pendant quelques minutes. Les visiteurs suivants récupèrent directement la liste déjà calculée. Le serveur économise ainsi une quantité importante de ressources.
Exemple n°4 : limiter les appels à une API
De nombreux sites interrogent des services externes :
- la météo
- les taux de change
- des informations boursières
- une intelligence artificielle
- une API de géolocalisation…
Ces appels sont parfois payants ou limités.
Prenons un exemple : Votre site affiche la météo de Troyes.
Sans Redis, chaque visiteur déclenche un appel vers l’API météo. Avec cent visiteurs, cela représente cent appels. Or la météo n’évolue pas toutes les secondes. Redis peut mémoriser la réponse pendant dix minutes.
Les visiteurs suivants utilisent cette copie locale.
Vous réduisez ainsi le temps de chargement, la consommation réseau et parfois même vos coûts d’utilisation de l’API.
Exemple n°5 : gérer des files d’attente
Certaines opérations prennent du temps.
Par exemple :
- envoyer mille e-mails
- générer un PDF
- créer une miniature d’image
- lancer un traitement vidéo
Si le serveur attend la fin de ces opérations avant d’afficher la page, l’utilisateur devra patienter.
Redis permet de créer ce que l’on appelle une file d’attente.
Imaginez une boulangerie : Chaque client prend un ticket. Le boulanger prépare les commandes dans leur ordre d’arrivée. Pendant ce temps, les nouveaux clients continuent à entrer.
Redis fonctionne de manière similaire : Il stocke les tâches dans une liste. Un autre programme les traite ensuite tranquillement en arrière-plan.
L’utilisateur obtient une réponse immédiate sans attendre la fin du traitement.
Redis est-il réservé aux gros sites ?
Absolument pas. Pourtant, on associe souvent Redis aux très grandes entreprises.
Il est vrai que des plateformes accueillant des millions d’utilisateurs l’utilisent quotidiennement. Mais Redis devient intéressant bien avant d’atteindre cette échelle.
- Un blog WordPress contenant plusieurs centaines d’articles peut déjà profiter d’un cache Redis.
- Une boutique WooCommerce avec quelques centaines de commandes par mois peut gagner en fluidité.
- Une API développée en PHP peut réduire considérablement son temps de réponse.
- Même une petite application personnelle peut être l’occasion idéale d’apprendre à utiliser Redis.
L’objectif n’est donc pas de battre des records de performances. L’objectif est surtout d’éviter de refaire inutilement le même travail.
Un cache peut-il remplacer Redis ?
C’est probablement la question qui revient le plus souvent.
Après tout, si un cache permet déjà de mémoriser des informations, pourquoi installer un serveur Redis ?
Pour répondre, il faut d’abord comprendre ce qu’est réellement un cache.
- Un cache n’est pas un logiciel : C’est un principe.
Son idée est très simple :
conserver temporairement une information afin d’éviter de la recalculer.
Il existe donc de nombreuses formes de cache.
- Votre navigateur Internet possède son propre cache.
- WordPress utilise un cache.
- PHP peut utiliser un cache.
- Même votre système d’exploitation met certains fichiers en cache.
Redis est simplement un outil particulièrement performant pour gérer ce cache.
👉 Découvrez les différences entre Cache serveur et cache navigateur
Cache fichier ou Redis ?
Beaucoup d’extensions WordPress créent un cache sous forme de fichiers.
Le principe est simple : Lorsqu’une page est générée, une copie HTML est enregistrée sur le disque. Le visiteur suivant reçoit directement cette copie.
Cette méthode est très efficace mais elle reste limitée par la vitesse du disque.
Redis travaille directement dans la mémoire RAM. L’accès est donc beaucoup plus rapide.
Autre avantage : Redis ne se contente pas de stocker des pages HTML. Il peut mémoriser pratiquement n’importe quelle donnée utilisée par votre application.
C’est ce qui le rend beaucoup plus polyvalent.
Alors, faut-il installer Redis ?
Pas forcément. Comme tout outil, Redis répond à un besoin précis.
Si votre site est déjà rapide, que votre hébergement est peu sollicité et que vos visiteurs sont peu nombreux, son installation n’apportera peut-être aucune différence visible.
En revanche, si vous observez :
- des requêtes SQL répétitives
- des traitements identiques exécutés en boucle
- un serveur qui commence à montrer ses limites
- une application de plus en plus complexe
alors Redis mérite clairement votre attention.
Le plus intéressant est qu’il s’intègre aujourd’hui très facilement à de nombreux projets PHP, Symfony, Laravel ou WordPress.
Redis, MySQL et Memcached : quelles différences ?
Maintenant que vous avez découvert Redis, une question revient presque toujours : est-ce qu’il remplace MySQL ? Et si l’on entend également parler de Memcached, on peut vite avoir l’impression que tous ces outils font la même chose.

En réalité, chacun possède un rôle bien précis.
MySQL : le gardien de vos données
MySQL est une base de données relationnelle. Son objectif est de conserver durablement les informations de votre application.
Comme vu précédemment, MySQL peut stocker :
- les comptes utilisateurs
- les articles d’un blog
- les commandes d’une boutique en ligne ;
- les commentaires ;
- les factures.
Toutes ces données doivent rester disponibles, même si le serveur redémarre plusieurs fois. MySQL est donc conçu avant tout pour la fiabilité et l’intégrité des données.
En contrepartie, il est un peu moins rapide que Redis pour accéder aux informations, car il doit les lire sur le disque et exécuter des requêtes parfois complexes.
Redis : le champion de la rapidité
Redis adopte une philosophie totalement différente.
Son objectif n’est pas de remplacer votre base de données, mais de lui éviter de travailler inutilement.
Il conserve les informations les plus utilisées directement dans la mémoire vive (RAM), ce qui permet de les retrouver en quelques millisecondes, voire quelques microsecondes selon les cas.
Redis est donc particulièrement adapté pour :
- mettre en cache des requêtes SQL
- gérer les sessions des utilisateurs
- stocker des jetons d’authentification
- créer des files d’attente
- mémoriser les réponses d’API
On peut voir Redis comme un assistant extrêmement rapide qui garde sous la main tout ce que votre application consulte régulièrement.
Memcached : le spécialiste du cache
Memcached poursuit un objectif proche de Redis : accélérer les applications en stockant des données en mémoire.
La différence est qu’il a été conçu pour faire une seule chose… mais la faire très bien.
Memcached ne gère pratiquement que des couples clé / valeur. Il ne propose ni structures de données avancées, ni persistance, ni système de messages.
On pourrait dire qu’il est un peu comme une grande étagère sur laquelle on dépose des fiches cartonnées. Il est très rapide pour les ranger et les retrouver, mais il ne sait pas faire beaucoup plus.
Redis, lui, ressemble davantage à un véritable atelier équipé de plusieurs outils. Il peut stocker des chaînes de caractères, des listes, des ensembles, des tables associatives, des files d’attente et bien d’autres structures.
Lequel choisir ?
Dans la majorité des projets web modernes, ces trois outils ne sont pas en concurrence : Ils travaillent ensemble.
- MySQL conserve les données importantes sur le long terme.
- Redis accélère les traitements en mémorisant temporairement les informations les plus utilisées.
- Memcached reste une excellente solution lorsqu’un simple cache en mémoire suffit et que l’on recherche avant tout la simplicité.
Dans les projets PHP modernes, Laravel, Symfony, WordPress ou encore Magento privilégient cependant de plus en plus Redis, car ses fonctionnalités vont bien au-delà du simple cache.
| Outil | Rôle principal | Stockage | Persistance | Cas d’utilisation |
|---|---|---|---|---|
| MySQL | Base de données | Disque | Oui | Utilisateurs, commandes, articles… |
| Redis | Cache et stockage en mémoire | RAM | Oui (optionnelle) | Sessions, cache, API, files d’attente… |
| Memcached | Cache mémoire | RAM | Non | Cache simple et très rapide |
La persistance Redis : comment vos données survivent-elles à un redémarrage ?
À première vue, Redis présente un inconvénient. Comme il travaille dans la mémoire vive, toutes les données devraient disparaître dès que le serveur s’arrête.
Et c’est effectivement ce qui se passerait… si Redis ne proposait pas de mécanismes de sauvegarde appelés persistance.
Analogie simple
Imaginez que vous preniez des notes pendant un cours. Vous écrivez d’abord sur un tableau blanc.
- Le tableau représente la mémoire RAM.
C’est rapide, pratique et tout le monde peut lire les informations immédiatement. Mais si quelqu’un efface le tableau, toutes les notes disparaissent. Vous décidez alors de recopier régulièrement vos notes dans un cahier.
- Ce cahier représente le disque dur.
Même si le tableau est effacé, vous pourrez retrouver toutes vos informations. C’est exactement ce que fait Redis.
Il travaille en permanence dans la RAM, mais il peut sauvegarder son contenu sur le disque afin de le restaurer plus tard.
La sauvegarde RDB
Le premier mécanisme s’appelle RDB (Redis Database Backup).
À intervalles réguliers, Redis prend une sorte de photographie de toute sa mémoire. Cette photographie est enregistrée dans un fichier sur le disque.
Imaginez un photographe qui prend une photo de votre bureau toutes les dix minutes. Si votre bureau est renversé, vous pourrez toujours le remettre dans l’état où il était lors de la dernière photo.
C’est précisément ce que permet RDB.
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Ses avantages sont nombreux :
- les sauvegardes sont compactes
- elles sont rapides à restaurer
- elles consomment peu d’espace disque
En revanche, si le serveur tombe en panne juste avant la prochaine sauvegarde, les dernières modifications seront perdues.
La sauvegarde AOF
Le second mécanisme s’appelle AOF (Append Only File).
Cette fois, Redis ne prend plus de photographies. Il tient un journal de bord. Chaque commande exécutée est immédiatement écrite dans un fichier.
Par exemple :
SET prenom "Alban"
SET panier 4
DEL ancien_panier
Lorsqu’il redémarre, Redis relit simplement ce journal et rejoue toutes les commandes dans le même ordre.
L’analogie est celle d’un comptable. Au lieu de prendre une photo de sa caisse enregistreuse chaque soir, il note chaque opération au fur et à mesure dans un cahier. Même si la caisse est détruite, il suffit de relire le cahier pour tout reconstruire.
- L’avantage est évident : très peu de données sont perdues.
En contrepartie, le fichier AOF peut devenir plus volumineux qu’une simple sauvegarde RDB.
Peut-on utiliser les deux ?
Oui, et c’est d’ailleurs une pratique très courante.
Redis peut enregistrer des instantanés RDB tout en tenant un journal AOF.
Vous profitez ainsi :
- de sauvegardes rapides
- d’une restauration efficace
- d’une excellente sécurité des données
Pour un développeur débutant, retenez surtout une chose : Redis n’est pas obligé d’oublier tout son contenu lorsqu’il redémarre. Grâce à la persistance, il peut retrouver tout ou partie de ses données automatiquement.
Redis est-il disponible sur un hébergement mutualisé ?
Après avoir découvert Redis en local, beaucoup souhaitent naturellement l’utiliser sur leur hébergement web.
La réponse est : cela dépend du type d’hébergement.
Pourquoi Redis n’est-il pas toujours disponible ?
Sur un hébergement mutualisé, plusieurs centaines, voire plusieurs milliers de clients partagent le même serveur.
Chaque utilisateur dispose de son espace web, mais il ne possède pas les droits nécessaires pour installer ou démarrer des services système.
Or Redis est justement un service qui fonctionne en permanence en arrière-plan.
Autoriser chaque client à lancer son propre serveur Redis poserait rapidement des problèmes de sécurité et de consommation des ressources.
C’est pourquoi la plupart des hébergements mutualisés ne permettent pas d’installer librement Redis.
Comment savoir si Redis est disponible ?
Avant de développer une fonctionnalité qui dépend de Redis, prenez quelques minutes pour vérifier la documentation de votre hébergeur ou les caractéristiques de votre offre.
Posez-vous les questions suivantes :
- Ai-je accès au terminal (Connexion SSH) ?
- Puis-je installer des services système ?
- Mon hébergeur fournit-il déjà Redis ?
- Existe-t-il une extension ou une option dédiée ?
Ces quelques vérifications vous éviteront bien des surprises.
Faut-il absolument disposer de Redis ?
Non, la plupart des frameworks et des CMS savent fonctionner sans Redis.
Si votre hébergement ne le propose pas, votre application continuera généralement à fonctionner normalement. Elle sera simplement un peu moins performante dans certains cas.
- Redis est un accélérateur, pas une obligation.
Lorsque votre projet grandira ou que vous migrerez vers un VPS ou un serveur dédié, vous pourrez alors l’activer très facilement et profiter immédiatement des gains de performances qu’il apporte.
Installer un serveur Redis en local
Après toute cette théorie, passons enfin à la pratique.
Installer un serveur Redis sur son ordinateur est une excellente façon de comprendre son fonctionnement. Vous pourrez réaliser vos propres essais, tester vos applications et apprendre à manipuler Redis sans prendre le moindre risque.
Rassurez-vous : cette installation est uniquement destinée au développement. Vous n’avez pas besoin d’un serveur puissant ni de connaissances avancées en administration système.
Peut-on installer Redis avec MAMP ?
Beaucoup de développeurs PHP utilisent MAMP pour développer en local.
MAMP fournit généralement :
- Apache ou Nginx
- PHP
- MySQL ou MariaDB
- phpMyAdmin
En revanche, Redis n’est pas inclus.
- Cela ne signifie pas qu’il est incompatible avec MAMP.
Au contraire. Redis fonctionne comme un serveur indépendant. Il suffit donc de le lancer en parallèle de MAMP.
Votre application PHP pourra alors communiquer avec Redis exactement comme elle communique avec MySQL.
Vous aurez donc deux serveurs différents :
- MySQL pour stocker vos données de façon permanente
- Redis pour stocker vos données temporaires en mémoire.
Les deux peuvent fonctionner simultanément sans aucun problème.
Installation sous macOS
Sous macOS, la méthode la plus simple consiste à utiliser Homebrew.
Si Homebrew est déjà installé sur votre ordinateur, une seule commande suffit.
brew install redis
Homebrew télécharge automatiquement Redis puis installe tous les fichiers nécessaires.
Une fois l’installation terminée, vous pouvez démarrer le serveur.
brew services start redis
- Redis fonctionne désormais en arrière-plan.
Pour vérifier que tout fonctionne correctement, ouvrez un terminal et tapez :
redis-cli ping
Si tout est correctement installé, Redis répond simplement :
PONG
Cette réponse signifie que votre serveur Redis est opérationnel.
Installation sous Linux
Sur la plupart des distributions Linux, Redis est disponible directement dans les dépôts officiels.
Sous Ubuntu ou Debian, par exemple :
sudo apt update
sudo apt install redis-server
Une fois l’installation terminée, démarrez le service.
sudo systemctl start redis-server
Vous pouvez vérifier son état avec :
sudo systemctl status redis-server
Enfin, testez la connexion.
redis-cli ping
Là encore, la réponse doit être :
PONG
Si c’est le cas, Redis est prêt à être utilisé.
Et sous Windows ?
Pendant longtemps, Redis n’était pas officiellement disponible sous Windows. Aujourd’hui, la solution la plus simple consiste à utiliser Docker.
Docker permet d’exécuter Redis dans un conteneur, sans avoir à installer directement le serveur sur Windows.
Une fois Docker Desktop installé, il suffit d’exécuter la commande suivante :
docker run --name redis-local \
-p 6379:6379 \
-d redis
Décortiquons cette commande.
- docker run crée un nouveau conteneur.
- –name redis-local lui donne un nom.
- 6379 correspond au port utilisé par Redis.
- -d indique que Redis fonctionne en arrière-plan.
- redis est l’image officielle téléchargée automatiquement.
Quelques instants plus tard, Redis est déjà opérationnel.
Vous pouvez ensuite ouvrir un terminal dans Docker et utiliser les commandes Redis exactement comme sous Linux ou macOS.
Cette méthode présente un autre avantage : si vous supprimez le conteneur, vous repartez immédiatement d’une installation propre.
Le port 6379
Vous avez probablement remarqué le nombre 6379.
- Il s’agit du port utilisé par défaut par Redis.
On peut le comparer au numéro d’un appartement dans un immeuble. L’adresse de l’immeuble correspond à votre ordinateur. Le numéro d’appartement permet de savoir quel logiciel doit recevoir la demande.
Lorsque votre application PHP souhaite communiquer avec Redis, elle envoie donc sa requête au port 6379.
Dans la plupart des installations locales, vous n’aurez jamais besoin de modifier ce numéro.
Découvrir redis-cli
Redis fournit un petit programme très pratique appelé redis-cli.
Il permet de communiquer directement avec le serveur.
Lancez-le simplement :
redis-cli
Vous obtenez alors une console interactive.
Vous pouvez maintenant envoyer vos premières commandes.
Enregistrer une première donnée
Essayons quelque chose de très simple.
Nous allons enregistrer un prénom.
SET prenom "Alban"
Décortiquons cette commande.
- SET signifie « enregistrer ».
- prenom est la clé.
- Alban est la valeur.
Redis répond :
OK
Votre donnée est désormais stockée en mémoire.
Lire une donnée
Pour récupérer cette information, utilisez la commande :
GET prenom
Redis répond :
"Alban"

Vous venez de réaliser votre première lecture dans Redis.
- Aucune table.
- Aucune requête SQL.
- Aucune colonne.
Seulement une clé et une valeur.
C’est cette simplicité qui explique une grande partie des excellentes performances de Redis.
Modifier une valeur
Changer une donnée est tout aussi simple.
SET prenom "Sophie"
La nouvelle valeur remplace immédiatement l’ancienne.
Si vous relancez :
GET prenom
Redis répond maintenant :
"Sophie"
Il n’est pas nécessaire de supprimer l’ancienne valeur avant d’enregistrer la nouvelle.
Redis s’en charge automatiquement.
Supprimer une donnée
Pour supprimer une clé :
DEL prenom
Puis :
GET prenom
Redis répond :
(nil)
Cela signifie que cette clé n’existe plus.
Donner une durée de vie à une donnée
L’une des fonctionnalités les plus intéressantes de Redis est la possibilité de faire expirer automatiquement une information.
Par exemple :
SET codePromo "ETE2026"
EXPIRE codePromo 60
- La première commande crée la donnée.
- La seconde indique à Redis de la supprimer automatiquement au bout de 60 secondes.
Cette fonctionnalité est extrêmement utilisée pour :
- les sessions utilisateur
- les jetons de connexion
- les caches temporaires
- les codes de validation
- les résultats d’API
Vous n’avez rien à nettoyer.
Redis s’occupe de supprimer les informations devenues inutiles.
Vérifier les clés enregistrées
Pour afficher les clés présentes dans Redis :
KEYS *
Redis retourne par exemple :
1) "prenom"
2) "panier"
3) "token"
Cette commande est très pratique pour apprendre Redis.
En revanche, sur un serveur contenant plusieurs millions de clés, elle est déconseillée car elle peut être coûteuse.
En développement local, elle reste parfaitement adaptée.
Utiliser Redis avec PHP
Maintenant que votre serveur Redis fonctionne, il est temps de l’utiliser dans une véritable application PHP.
L’objectif n’est pas de réaliser quelque chose de complexe. Nous allons simplement apprendre à communiquer avec Redis, à enregistrer une information puis à la récupérer.
Vous verrez qu’une fois la connexion établie, Redis est particulièrement simple à utiliser.
Installer l’extension PHP Redis
Avant toute chose, PHP doit être capable de dialoguer avec votre serveur Redis. Pour cela, il faut installer une extension appelée phpredis.
Selon votre environnement, cette extension peut déjà être présente.
Vous pouvez facilement le vérifier avec la commande suivante :
php -m
PHP affiche alors toutes les extensions chargées.
Si vous voyez apparaître redis dans la liste, tout est prêt.
Dans le cas contraire, il faudra installer cette extension selon votre système d’exploitation ou votre environnement de développement.
Une fois l’installation terminée, pensez à redémarrer Apache, Nginx ou PHP-FPM afin que l’extension soit prise en compte.
Se connecter au serveur Redis
La connexion est très simple.
<?php
$redis = new Redis();
// Connexion au serveur Redis
$redis->connect('127.0.0.1', 6379);
echo "Connexion réussie.";
La première ligne crée un objet Redis.
Ensuite, la méthode connect() indique à PHP où se trouve le serveur.
Dans notre cas :
- 127.0.0.1 désigne l’ordinateur local ;
- 6379 est le port utilisé par Redis.
Si tout fonctionne correctement, votre script affiche :
Connexion réussie.
À partir de ce moment-là, votre application peut lire ou écrire des informations dans Redis.
Enregistrer une valeur
Nous allons maintenant mémoriser le nom d’un utilisateur.
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// Enregistre une valeur
$redis->set('prenom', 'Alban');
echo "Valeur enregistrée.";
Le principe est exactement le même que dans redis-cli.
- La clé est prenom.
- La valeur est Alban.
Quelques millisecondes plus tard, l’information est déjà stockée dans Redis.
Lire une valeur
Pour récupérer cette donnée :
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$prenom = $redis->get('prenom');
echo $prenom;
Le navigateur affichera :
Alban
C’est tout. Aucune requête SQL. Aucune connexion MySQL. Seulement une lecture extrêmement rapide en mémoire.
Définir une durée de vie
Comme nous l’avons vu précédemment, Redis peut supprimer automatiquement une donnée après un certain délai.
En PHP, cela s’écrit ainsi :
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// Conservation pendant une heure
$redis->set('token', 'ABC123');
$redis->expire('token', 3600);
Au bout de 3 600 secondes (soit une heure), Redis supprimera automatiquement cette clé. Vous n’avez rien d’autre à programmer.
Exemple concret : mettre en cache une requête MySQL
Prenons un cas très courant : Votre page d’accueil affiche les dix derniers articles publiés.
Sans Redis, le scénario est toujours le même.
À chaque visite :
- PHP se connecte à MySQL
- MySQL exécute la requête
- Les résultats sont renvoyés
- La page est générée
Même si cent visiteurs arrivent en quelques minutes, la base de données effectue cent fois exactement la même requête.
Avec Redis, la logique change complètement.
- On commence par demander à Redis si les données existent déjà.
- Si oui, elles sont utilisées immédiatement.
- Sinon, on interroge MySQL puis on stocke le résultat dans Redis.
Voici un exemple simplifié.
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// Vérifie si le cache existe
if ($redis->exists('derniers_articles')) {
echo "Lecture depuis Redis";
$articles = json_decode(
$redis->get('derniers_articles'),
true
);
} else {
echo "Lecture depuis MySQL";
// Ici on imagine une requête SQL
$articles = [
"Article 1",
"Article 2",
"Article 3"
];
// Sauvegarde pendant 10 minutes
$redis->set(
'derniers_articles',
json_encode($articles)
);
$redis->expire(
'derniers_articles',
600
);
}
Ce programme paraît un peu plus long, mais son fonctionnement est très logique.
- Lors de la première visite, Redis ne contient encore rien.
- Le script interroge donc MySQL.
- Les résultats sont ensuite enregistrés pendant dix minutes.
Pendant les dix minutes suivantes, tous les visiteurs utilisent directement Redis.
- MySQL n’est plus sollicité.
Dès que le cache expire, le premier visiteur suivant régénère automatiquement les données. Puis le cycle recommence.
C’est précisément ce mécanisme qui permet à Redis de soulager fortement un serveur web.
Faut-il tout stocker dans Redis ?
Non. C’est probablement l’erreur la plus fréquente lorsqu’on découvre Redis.
Comme il est très rapide, on pourrait être tenté d’y placer toutes les données de son application. En réalité, Redis est surtout destiné aux informations temporaires ou fréquemment utilisées.
Quelques exemples adaptés :
- les sessions utilisateur
- les résultats de requêtes SQL
- les paniers d’achat
- les réponses d’une API
- les compteurs de visites
- les jetons d’authentification
- les files d’attente
En revanche, des données importantes comme les utilisateurs, les commandes, les factures ou les articles d’un blog continueront généralement d’être enregistrées dans MySQL ou MariaDB.
- Redis n’a pas vocation à remplacer une base de données relationnelle.
Les deux outils travaillent ensemble.
Les bonnes pratiques
Lorsque vous commencerez à utiliser Redis dans vos projets, gardez quelques habitudes simples.
Tout d’abord, ne mettez en cache que ce qui est réellement coûteux à calculer. Si une information est obtenue en quelques millisecondes, Redis ne vous apportera probablement aucun bénéfice.
Pensez également à définir une durée de vie adaptée. Un cache qui n’expire jamais risque de contenir des informations devenues obsolètes.
Il est aussi conseillé de donner des noms explicites à vos clés :
utilisateur:42
article:125
panier:18
produits:populaires
Cette convention rend le contenu de Redis beaucoup plus facile à comprendre lorsque votre projet grandit.
Enfin, surveillez l’utilisation de la mémoire. Redis stockant ses données en RAM, il est préférable d’éviter d’y placer des fichiers volumineux ou des informations qui ne seront jamais relues.
Ce qu’il faut retenir
Si vous ne deviez retenir qu’une seule idée de ce tutoriel, ce serait celle-ci :
- Redis n’est pas là pour remplacer votre base de données. Il est là pour éviter à votre serveur de refaire inutilement le même travail.
C’est cette philosophie qui explique son succès.
En mémorisant temporairement les données les plus utilisées, Redis réduit le nombre de requêtes SQL, accélère le chargement des pages et améliore la réactivité des applications.
Derrière cette technologie qui peut sembler impressionnante se cache finalement un principe très simple : conserver les informations les plus utiles à portée de main, exactement comme vous gardez les documents importants sur votre bureau plutôt que de les ranger dans une armoire après chaque utilisation.
Vous connaissez désormais le rôle d’un serveur Redis, son mode de fonctionnement et les situations dans lesquelles il devient particulièrement intéressant. Vous avez également vu qu’il est relativement simple à installer sur un ordinateur et que son utilisation avec PHP ne demande que quelques lignes de code.
En pratique, vous n’aurez probablement pas besoin de Redis pour chacun de vos projets. En revanche, savoir quand l’utiliser est une compétence précieuse pour tout développeur web. À mesure que vos applications gagneront en complexité ou en fréquentation, vous comprendrez rapidement pourquoi Redis est devenu un incontournable des architectures modernes.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
