Créer un système de cache Redis performant et scalable
Un prompt complet pour concevoir et implémenter un système de cache Redis avec stratégies d'invalidation, gestion des erreurs et monitoring.
Coller dans votre IA
Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.
Tu es un architecte backend senior spécialisé en systèmes distribués et en optimisation de performance. Conçois un système de cache Redis complet pour mon application.
Contexte technique
- Langage / Framework : [LANGAGE_ET_FRAMEWORK] (ex : Node.js/Express, Python/FastAPI, Java/Spring Boot)
- Type d'application : [TYPE_APPLICATION] (ex : e-commerce, SaaS multi-tenant, API publique, réseau social)
- Base de données principale : [BASE_DE_DONNEES] (ex : PostgreSQL, MongoDB, MySQL)
- Volume estimé : [NOMBRE_REQUETES_PAR_SECONDE] requêtes/seconde en pic
- Infrastructure : [INFRASTRUCTURE] (ex : AWS ElastiCache, Redis auto-hébergé, Docker Compose, Kubernetes)
Ce que je veux
-
Architecture du cache :
- Propose une stratégie de cache adaptée (Cache-Aside, Read-Through, Write-Through, Write-Behind) en justifiant ton choix
- Définis la structure des clés Redis avec un naming convention clair (préfixes, séparateurs, versioning)
- Recommande les structures de données Redis appropriées (String, Hash, Set, Sorted Set, Stream) pour chaque type de donnée à cacher
-
Implémentation complète :
- Écris une classe/module de cache réutilisable avec : connexion (pool), get, set, delete, invalidation par pattern
- Implémente le pattern Cache-Aside avec gestion du cache stampede (mutex/lock)
- Ajoute un mécanisme de sérialisation/désérialisation (JSON, MessagePack ou Protocol Buffers)
- Gère les erreurs gracieusement : si Redis tombe, l'application doit continuer à fonctionner (circuit breaker)
-
Stratégie d'invalidation :
- Définis des TTL adaptés par type de ressource (données chaudes vs froides)
- Implémente l'invalidation par tags/groupes (ex : invalider tout le cache d'un utilisateur)
- Propose un mécanisme de cache busting pour les déploiements
- Gère la cohérence cache/base de données avec un pattern événementiel si pertinent
-
Patterns avancés :
- Rate limiting basé sur Redis (sliding window)
- Cache distribué avec Redis Cluster ou Sentinel (si pertinent pour le volume)
- Mise en cache de sessions utilisateur
- Cache de résultats de requêtes complexes avec invalidation intelligente
-
Monitoring et observabilité :
- Métriques à suivre : hit ratio, latence, mémoire utilisée, évictions
- Intègre un système de logging des opérations cache (hit/miss/error)
- Propose une configuration d'alertes
-
Configuration Redis :
- Fichier redis.conf optimisé pour mon cas d'usage
- Politique d'éviction recommandée (allkeys-lru, volatile-ttl, etc.)
- Configuration mémoire et persistence (RDB/AOF)
Fournis le code complet, commenté, avec des tests unitaires pour les composants critiques. Inclus un fichier Docker Compose pour l'environnement de développement avec Redis.
Personnaliser ce prompt avec Léa
Léa réécrit ce prompt pour ton métier et ton objectif précis — 3 questions suffisent.
Pourquoi ce prompt fonctionne
<p>Ce prompt guide l'IA pour produire un système de cache Redis de qualité production. En précisant votre <strong>langage/framework</strong>, votre <strong>type d'application</strong> et votre <strong>infrastructure</strong>, vous obtenez du code directement intégrable dans votre projet, pas un tutoriel générique.</p><p>La structure du prompt couvre les cinq piliers d'un cache robuste : l'<strong>architecture</strong> (quelle stratégie pour quel besoin), l'<strong>implémentation</strong> (code réutilisable avec gestion des erreurs), l'<strong>invalidation</strong> (le problème le plus complexe du caching), les <strong>patterns avancés</strong> (rate limiting, sessions) et le <strong>monitoring</strong>. Chaque section force l'IA à justifier ses choix techniques plutôt que proposer une solution par défaut.</p><p>Pour de meilleurs résultats, soyez précis sur vos <strong>variables</strong> : un cache pour une API REST avec 100 req/s n'a rien à voir avec un cache pour un e-commerce à 10 000 req/s. Précisez aussi vos contraintes (budget, équipe, dette technique existante). Vous pouvez itérer en demandant d'approfondir une section spécifique, par exemple <strong>« Détaille la partie invalidation par tags avec des exemples concrets pour mon modèle de données »</strong>.</p>
Cas d'usage
Résultat attendu
Un système de cache Redis complet comprenant : le code source d'un module de cache réutilisable dans votre langage, un fichier de configuration Redis optimisé, un Docker Compose de développement, des tests unitaires, et une documentation des conventions de nommage des clés et des stratégies d'invalidation.
Améliorez ce prompt
Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.
Améliore ce prompt avec l'OptimiseurCommentaires
- LéaIA
Précisez vos exigences de cohérence (fréquence de mise à jour, fraîcheur acceptable) et donnez 2-3 exemples concrets de requêtes types avec leurs poids en lecture/écriture. Cela permet de trancher entre Cache-Aside et Write-Through, et de définir des TTL réalistes. Ajoutez aussi un plan de test de charge (montée en charge, panne Redis simulée) pour valider le choix entre Sentinel et Cluster.
Termes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Pour aller plus loin
Prompts similaires
Prompt Sora pour créer des tests E2E
Les tests end-to-end (E2E) sont essentiels pour garantir la fiabilité d'une application, mais leur rédaction reste chronophage et répétitive. Sora, grâce à ses capacités de génération avancées, permet d'automatiser la création de scénarios de tests E2E complets en quelques secondes. En formulant un prompt précis décrivant les parcours utilisateurs, les interactions attendues et les critères de validation, vous obtenez des suites de tests structurées, couvrant les cas nominaux comme les cas limites. L'approche par prompt engineering appliquée à Sora transforme la manière dont les équipes QA et développement abordent la couverture de tests. Au lieu de partir d'une page blanche, vous décrivez le comportement attendu de votre application en langage naturel, et Sora génère le code de test correspondant avec les assertions appropriées. Cette méthode réduit considérablement le temps de mise en place d'une suite E2E tout en maintenant un niveau de qualité professionnel. Que vous utilisiez Playwright, Cypress ou Selenium, les prompts présentés ici s'adaptent à votre stack technique et à la complexité de votre application.
Mettre en place une limitation de débit
Protéger les API contre les abus
Prompt GitHub Copilot pour créer une API REST
GitHub Copilot est devenu un assistant incontournable pour les développeurs souhaitant accélérer la création d'APIs REST. Grâce à son intégration directe dans l'éditeur de code, il comprend le contexte de votre projet et génère du code structuré en temps réel. Que vous travailliez avec Node.js et Express, Python et FastAPI, ou Java et Spring Boot, Copilot s'adapte à votre stack technique pour produire des endpoints conformes aux conventions REST. L'enjeu principal réside dans la formulation du prompt : un prompt bien structuré permet d'obtenir une API complète avec validation des données, gestion des erreurs, authentification et documentation. Un prompt vague, en revanche, produira du code générique nécessitant de nombreuses retouches. Dans ce guide, nous vous proposons un prompt optimisé qui exploite pleinement les capacités de GitHub Copilot pour générer une API REST professionnelle, testable et prête pour la production. Vous découvrirez également des variantes adaptées à votre niveau d'expérience ainsi que des conseils pratiques pour tirer le meilleur parti de cet outil au quotidien.
Mise en œuvre de la CSP avec des nonces
Prévenir les XSS avec une CSP stricte