Aller au contenu principal

Configuration Redis Insight

Guide pour se connecter à Redis dans Docker avec Redis Insight installé sur votre Mac.

Prérequis

  1. Redis Insight installé sur votre Mac :

  2. Redis Docker en cours d'exécution :

    • Le port 6379 doit être exposé (déjà configuré dans docker-compose.dev.yml)

Démarrage de Redis dans Docker

  1. Démarrer Redis :
cd infra
docker-compose -f docker-compose.dev.yml up -d redis
  1. Vérifier que Redis est démarré :
docker-compose -f docker-compose.dev.yml ps redis

Vous devriez voir redis en cours d'exécution.

Connexion avec Redis Insight (depuis votre Mac)

  1. Ouvrir Redis Insight sur votre Mac (application desktop)

  2. Ajouter une nouvelle connexion :

    • Cliquez sur "Add Redis Database" ou "Add Database"
    • Remplissez les informations :
      • Host: localhost ou 127.0.0.1
      • Port: 6379
      • Database Alias: Aaperture Dev (ou un nom de votre choix)
      • Username: ⚠️ Laissez vide (Redis n'a pas d'utilisateur configuré par défaut)
      • Password: ⚠️ Laissez vide (Redis n'a pas de mot de passe configuré par défaut)
      • Database Index: 0 (par défaut)
  3. Cliquez sur "Add Redis Database"

  4. Tester la connexion : Redis Insight devrait se connecter et afficher les clés Redis

Vérification de la connexion

Une fois connecté, vous devriez voir :

  • Les clés Redis utilisées par l'application
  • Les statistiques de performance
  • La possibilité d'exécuter des commandes Redis

Clés Redis utilisées par l'application

Voici les patterns de clés utilisés dans l'application :

  • permissions:user:* - Permissions des utilisateurs (TTL: 10 minutes)
  • plan:code:* - Plans d'abonnement (TTL: 1 heure)
  • plan:*:permissions - Permissions des plans (TTL: 1 heure)
  • plan:*:limits - Limites des plans (TTL: 1 heure)
  • users:search:* - Résultats de recherche d'utilisateurs (TTL: 1 minute)
  • analytics:*:revenue:* - Statistiques de revenus (TTL: 5 minutes)
  • analytics:*:conversion:* - Statistiques de conversion (TTL: 5 minutes)
  • analytics:*:sessions:* - Statistiques de sessions (TTL: 5 minutes)
  • analytics:*:dashboard:* - Statistiques du tableau de bord (TTL: 3 minutes)
  • audit:* - Options de filtres d'audit (TTL: 5 minutes)

Commandes utiles

Via Redis CLI dans Docker

# Se connecter au conteneur Redis
docker-compose -f docker-compose.dev.yml exec redis redis-cli

# Lister toutes les clés
KEYS *

# Voir une clé spécifique
GET permissions:user:USER_ID

# Voir le TTL d'une clé
TTL permissions:user:USER_ID

# Supprimer une clé
DEL permissions:user:USER_ID

# Supprimer toutes les clés d'un pattern
EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 analytics:*:*

Via Redis Insight

Dans l'interface Redis Insight, vous pouvez :

  • Naviguer dans les clés
  • Voir les valeurs en temps réel
  • Modifier les valeurs
  • Exécuter des commandes Redis dans la console
  • Voir les statistiques de performance

Dépannage

Impossible de se connecter à Redis

  1. Vérifier que Redis est démarré :
docker-compose -f docker-compose.dev.yml ps redis
  1. Vérifier les logs Redis :
docker-compose -f docker-compose.dev.yml logs redis
  1. Tester la connexion depuis le conteneur :
docker-compose -f docker-compose.dev.yml exec redis redis-cli ping

Cela devrait retourner PONG.

Port déjà utilisé

Si le port 6379 est déjà utilisé :

  1. Modifier le port dans docker-compose.dev.yml :
redis:
ports:
- "6380:6379" # Utiliser 6380 au lieu de 6379
  1. Dans Redis Insight, utilisez le port 6380 au lieu de 6379

  2. Redémarrer Redis :

docker-compose -f docker-compose.dev.yml up -d redis

Configuration avec mot de passe

Si vous voulez sécuriser Redis avec un mot de passe :

  1. Modifier docker-compose.dev.yml :
redis:
image: redis:7-alpine
command: redis-server --requirepass ${REDIS_PASSWORD:-yourPassword}
ports:
- "6379:6379"
  1. Dans Redis Insight, ajoutez le mot de passe dans le champ "Password"

  2. Dans votre .env, ajoutez :

REDIS_PASSWORD=yourPassword

Arrêt de Redis

# Arrêter Redis
docker-compose -f docker-compose.dev.yml stop redis

# Supprimer le conteneur (les données persistent dans les volumes)
docker-compose -f docker-compose.dev.yml down redis

Note : Redis Insight est une application Mac, vous pouvez simplement la fermer comme n'importe quelle autre application.