Étude de cas Redis

Concepts NoSQL

Miriam Antona

Software engineer

Redis - aperçu

  • Remote Dictionary Server
  • Base de données clé‑valeur populaire
  • Stockage de données en mémoire rapide
    • Jeu de données en mémoire
    • Permet aussi de persister sur disque
  • Utilisé comme :
    • Base de données
    • Cache
    • Courtier de messages

Logo Redis

  • Open source
  • Redis Labs : 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
    
  • 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 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...)
  • Gestion de sessions (profils, identifiants...)
  • Chat, messagerie et files (salons, commentaires temps réel, fils sociaux...)
  • Analytique en temps réel (réseaux sociaux, publicité)
  • Classements de jeux (listes classées en temps réel)
  • etc.
Concepts NoSQL

Redis - dans le cloud

  • Amazon Web Services ElastiCache for Redis
  • Microsoft Azure Cache for Redis sur Azure
  • Alibaba ApsaraDB for Redis sur Alibaba Cloud
Concepts NoSQL

Redis - clients

Logos de certains clients Redis

Concepts NoSQL

Étude de cas Editoo

Logo Editoo

  • Petite entreprise
  • Outil en ligne pour créer des magazines personnalisés
    • personnels
    • professionnels

Problème :

  • Forte latence due à plus d'utilisateurs
  • Leur SGBDR ne suivait pas la montée en charge

 

Solution : utiliser Redis

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

Étude de cas Editoo

Résultats :

  • Réduction des indisponibilités
  • Meilleures performances
  • Futures migrations depuis les bases relationnelles vers Redis
Concepts NoSQL

Étude de cas Editoo

Résultats :

  • Réduction des indisponibilités
  • Meilleures performances
  • Futures migrations depuis les bases relationnelles vers Redis
1 https://redis.io/customers/
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...