P
💻DeveloppementAvanceAll AIs

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

  1. 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
  2. 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)
  3. 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
  4. 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
  5. 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
  6. 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

Réponds à 3 questions, Léa adapte le prompt à ta situation.

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

Optimiser les performances d'une API REST en cachant les réponses fréquentesMettre en place un cache de sessions utilisateur pour une application web à fort traficRéduire la charge sur une base de données PostgreSQL ou MongoDB avec un cache intermédiaireImplémenter du rate limiting et de la protection contre les abus via Redis

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'Optimiseur

Commentaires

Sois le premier à commenter ce prompt.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementDebutantChatGPT

Créer sa première API avec Express.js

Apprenez à créer votre première API REST Express.js de A à Z avec des explications pédagogiques adaptées aux débutants.

15367
💻DeveloppementAvanceAll AIs

Implémenter la sécurité des pods

Appliquer la sécurité des pods Kubernetes

0111
💻DeveloppementAvanceAll AIs

Construire une liste virtualisée

Gérer des listes de données volumineuses

0154
💻DeveloppementIntermediaireAll AIs

Configuration Prometheus et alertes

Configurer le monitoring Prometheus

0107