Étude de cas Redis

Concepts NoSQL

Miriam Antona

Software engineer

Redis – aperçu

  • Remote Dictionary Server
  • Base de données clé‑valeur populaire
  • Mémoire de données ultrarapide en RAM
    • Jeu de données en mémoire
    • Peut aussi persister les données sur disque
  • Utilisations :
    • Base de données
    • Cache
    • Courtier de messages

Logo de Redis

  • Code source libre
  • Redis Labs : plus de 400 employé·e·s
Concepts NoSQL

Redis – structures de données

  • Chaînes
      SET name Ann
    
  • Listes
      RPUSH my_numbers 1 2 3
    
  • Ensembles
      SADD my_set 1 2 3
    
  • Tables de hachage
      HMSET user:123 name Ann surname Smith
    
  • ...
Concepts NoSQL

Redis – structures de données

  • Chaînes
      SET name Ann
    
  • Listes
      RPUSH my_numbers 1 2 3
    
  • Ensembles
      SADD my_set 1 2 3
    
  • Tables de hachage
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://www.redis.io/commands
Concepts NoSQL

Redis – fonctionnalités

  • Opérations atomiques
  • Transactions
  • Scripts Lua pour des opérations complexes
  • Langages pris en charge : Python, R, C#, Java, JavaScript, PHP...
  • Réplication asynchrone
Concepts NoSQL

Redis – usages courants

  • Mise en cache (résultats de requêtes, images, fichiers...)
  • Stockage de sessions (profils, informations d'authentification...)
  • Clavardage, messagerie et files (salons, commentaires en temps réel, fils sociaux...)
  • Analytique en temps réel (analytique des médias sociaux, publicité)
  • Classements de jeux (listes ordonnées en temps réel)
  • etc.
Concepts NoSQL

Redis – dans le nuage

  • Amazon Web Services Elasticache for Redis
  • Microsoft Azure Cache for Redis dans Azure
  • Alibaba ApsaraDB for Redis dans Alibaba Cloud
Concepts NoSQL

Redis – clients

Logos de certains clients de Redis

Concepts NoSQL

Étude de cas Editoo

Logo d'Editoo

  • Petite entreprise
  • Outil en ligne pour créer des magazines personnalisés
    • personnels
    • d'affaires

Problème :

  • Latence élevée due à l'augmentation des utilisatrices et utilisateurs
  • Leur SGBDR ne suivait plus

 

Solution : utiliser Redis

  • Stocker les sessions utilisateur
  • Mettre en cache les requêtes à la base de données
Concepts NoSQL

Étude de cas Editoo

Résultats :

  • Moins d'interruptions de service
  • Meilleures performances
  • Futures migrations de ses bases relationnelles vers Redis
Concepts NoSQL

Étude de cas Editoo

Résultats :

  • Moins d'interruptions de service
  • Meilleures performances
  • Futures migrations de ses bases relationnelles vers Redis
1 https://redislabs.com/case-studies/
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...