Étude de cas : Redis

Concepts NoSQL

Miriam Antona

Software engineer

Redis – aperçu

  • Remote Dictionary Server
  • Base de données clé‑valeur populaire
  • Magasin de données en mémoire rapide
    • Ensemble de données en mémoire
    • Permet aussi de conserver les données sur disque
  • Utilisé comme :
    • Base de données
    • Cache
    • Courtier de messages

Logo de Redis

  • Code source libre
  • Redis Labs : 400+ employé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
    
  • Hachages
      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
    
  • Hachages
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://redis.io/glossary/redis-data-structures/
Concepts NoSQL

Redis – fonctionnalités

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

Redis – usages populaires

  • Mise en cache (résultats de requête, images, fichiers...)
  • Stockage de session (profils d'utilisateur, justificatifs...)
  • 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 classées en temps réel)
  • etc.
Concepts NoSQL

Redis – dans le nuage

  • Amazon Web Services Elasticache pour Redis
  • Microsoft Azure Cache pour Redis dans Azure
  • Alibaba ApsaraDB pour 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 :

  • Forte latence due à l'augmentation des utilisations
  • Leur SGBDR ne suivait pas cette hausse

 

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
  • Meilleure performance
  • Futures migrations de ses bases relationnelles vers Redis
Concepts NoSQL

Étude de cas : Editoo

Résultats :

  • Moins d'interruptions de service
  • Meilleure performance
  • Futures migrations de ses bases relationnelles vers Redis
1 https://redis.io/customers/
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...