Redis : Comment sauver les performances de ton app ?
En général, un PM entend le plus souvent parler de Redis quand il y a un beug dans l’application. Mais qu’est-ce qu'un cache et pourquoi est-ce indispensable pour une application performante ?
Redis permet de stocker et de récupérer rapidement des informations fréquemment utilisées, améliorant ainsi les performances de votre application. Découvrons ensemble ce système de “marque-pages” à l’ère du numérique.
Commençons par expliquer le concept à ta grand-mère
Imagine que tu as un carnet de recettes et que tous les dimanches tu fais la même recette de tarte aux pommes pour tes petits-enfants. Plutôt que de la chercher à chaque fois dans le carnet entier, tu mets un post-it à la page de cette recette. Redis fait la même chose avec les données sur internet. Il stocke les informations que l'on utilise souvent dans un endroit spécial, facile à atteindre, pour qu'on puisse les retrouver très rapidement sans avoir à tout chercher à chaque fois.
Let’s dive in !
Qu'est-ce que Redis ?
Redis (REmote Dictionary Server) est une base de données en mémoire utilisée comme cache, ce qui signifie qu'elle stocke les données dans la RAM pour des accès ultra-rapides.
Ces caractéristiques principales sont :
Stockage en Mémoire : Les données sont stockées dans la RAM (mémoire vive dédiée à du stockage à court terme), ce qui permet des temps de lecture et d'écriture très rapides.
Structures de Données Riches : Redis peut stocker différents types de données ce qui le rend très adaptable au besoin de votre application.
Utilisation comme Cache : Redis est souvent utilisé pour mettre en cache des résultats de requêtes fréquentes, améliorer la performance des applications.
Mais alors pourquoi utiliser Redis comme cache ?
Pour commencer, le principe d’un cache dans une application c’est de stocker temporairement des données fréquemment utilisées dans un emplacement rapide et facilement accessible, afin de réduire le temps nécessaire pour les récupérer. Cela peut être les détails d’un produit pour une application e-commerce, les pages les plus visitées d’un site web, etc.
Comme on l’a dit plus haut, Redis stocke les données dans la RAM ce qui permet un accès quasi instantané à ces dernières et par conséquent permet de réduire drastiquement les temps de réponse de votre application.
En mettant en cache les données fréquemment consultées, on diminue la charge sur notre base de données principale. Cela permet d'économiser des ressources et d'éviter les ralentissements pendant les pics de trafic.
Un des avantages de Redis c’est qu’il est très flexible et peut être utilisé pour diverses tâches telles que la gestion de sessions, le stockage temporaire de données, et plus encore grâce à sa capacité à gérer différentes structures de données.

Exemple Concret
Imaginons ManoMano, une application e-commerce de bricolage où l’on peut par exemple acheter des climatiseurs. Imaginons maintenant que l’on est à Paris en Juillet 2024 et qu’il fasse plus de 30° dehors.
Sans Cache : À chaque fois qu'un utilisateur recherche un climatiseur, l'application doit interroger la base de données principale, ce qui peut être lent.
Avec Redis : Après la première recherche, les détails des climatiseurs sont stockés dans Redis et peuvent être récupérés instantanément pour les requêtes suivantes, améliorant considérablement les temps de réponse.
Et d’un point de vue Product ?
En tant que Product Manager, votre rôle n’est pas d’apporter une solution technique à vos développeurs mais connaître l’existence de Redis et le principe de cache vous permettra de mieux comprendre la gestion de la performance de votre application.
Alors la prochaine fois que vos développeurs vous demandent d’avoir un peu de temps à consacrer à l’amélioration de la gestion du cache, vous saurez que cela pourra avoir un réel impact sur l’expérience utilisateur notamment si votre application à un fort trafic ou subit des pics de charge.
Chouette article : le combo vulgarisation, dive-in, exemple concret, perspective PM est parfait pour appréhender le sujet. Étant en ce moment même confronté à Redis, ça résonne d’autant plus. Merci !