Studiu de caz Redis

Concepte NoSQL

Miriam Antona

Software engineer

Redis - prezentare generală

  • Remote Dictionary Server
  • Bază de date cheie-valoare populară
  • Stocare date în memorie rapidă
    • Set de date în memorie
    • Permite și persistarea datelor pe disc
  • Utilizat ca:
    • Bază de date
    • Cache
    • Broker de mesaje

Logo Redis

  • Open source
  • Redis Labs: peste 400 de angajați
Concepte NoSQL

Redis - structuri de date

  • Șiruri de caractere
      SET name Ann
    
  • Liste
      RPUSH my_numbers 1 2 3
    
  • Seturi
      SADD my_set 1 2 3
    
  • Hash-uri
      HMSET user:123 name Ann surname Smith
    
  • ...
Concepte NoSQL

Redis - structuri de date

  • Șiruri de caractere
      SET name Ann
    
  • Liste
      RPUSH my_numbers 1 2 3
    
  • Seturi
      SADD my_set 1 2 3
    
  • Hash-uri
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://www.redis.io/commands
Concepte NoSQL

Redis - funcționalități

  • Operații atomice
  • Tranzacții
  • Scripting Lua pentru operații complexe
  • Limbaje de programare: Python, R, C#, Java, JavaScript, PHP...
  • Replicare asincronă
Concepte NoSQL

Redis - utilizări frecvente

  • Caching (rezultate interogări, imagini, fișiere...)
  • Stocare sesiuni (profiluri utilizatori, credențiale...)
  • Chat, mesagerie și cozi (camere de chat, comentarii în timp real, fluxuri social media...)
  • Analiză în timp real (social media, publicitate)
  • Clasamente jocuri (liste ordonate în timp real)
  • etc.
Concepte NoSQL

Redis - în cloud

  • Amazon Web Services Elasticache pentru Redis
  • Microsoft Azure Cache pentru Redis în Azure
  • Alibaba ApsaraDB pentru Redis în Alibaba Cloud
Concepte NoSQL

Redis - clienți

Logo-uri ale unor clienți Redis

Concepte NoSQL

Studiu de caz Editoo

Logo Editoo

  • Companie mică
  • Instrument online pentru reviste personalizate
    • personale
    • de afaceri

Problemă:

  • Latență ridicată din cauza creșterii numărului de utilizatori
  • SGBDR-ul lor nu putea gestiona această creștere

 

Soluție: Utilizarea Redis

  • Stocarea sesiunilor utilizatorilor
  • Caching pentru interogări de baze de date
Concepte NoSQL

Studiu de caz Editoo

Rezultate:

  • Reducerea timpului de nefuncționare
  • Performanță mai ridicată
  • Migrări viitoare din bazele de date relaționale în Redis
Concepte NoSQL

Studiu de caz Editoo

Rezultate:

  • Reducerea timpului de nefuncționare
  • Performanță mai ridicată
  • Migrări viitoare din bazele de date relaționale în Redis
1 https://redislabs.com/case-studies/
Concepte NoSQL

Să exersăm!

Concepte NoSQL

Preparing Video For Download...