Кейс-стаді Redis

Концепції NoSQL

Miriam Antona

Software engineer

Redis — огляд

  • Remote Dictionary Server
  • Популярна база даних ключ-значення
  • Швидке сховище структур даних у пам'яті
    • Набір даних у пам'яті
    • Також можна зберігати на диск
  • Використовується як:
    • База даних
    • Кеш
    • Брокер повідомлень

Логотип Redis

  • Відкритий код
  • Redis Labs: 400+ співробітників
Концепції NoSQL

Redis — структури даних

  • Рядки
      SET name Ann
    
  • Списки
      RPUSH my_numbers 1 2 3
    
  • Множини
      SADD my_set 1 2 3
    
  • Хеші
      HMSET user:123 name Ann surname Smith
    
  • ...
Концепції NoSQL

Redis — структури даних

  • Рядки
      SET name Ann
    
  • Списки
      RPUSH my_numbers 1 2 3
    
  • Множини
      SADD my_set 1 2 3
    
  • Хеші
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://redis.io/glossary/redis-data-structures/
Концепції NoSQL

Redis — можливості

  • Атомарні операції
  • Транзакції
  • Скрипти Lua для складних операцій
  • Мови програмування: Python, R, C#, Java, JavaScript, PHP...
  • Асинхронна реплікація
Концепції NoSQL

Redis — популярні сценарії

  • Кешування (результати запитів, зображення, файли...)
  • Зберігання сесій (профілі користувачів, облікові дані...)
  • Чати, повідомлення та черги (чат-кімнати, коментарі в реальному часі, стрічки соцмереж...)
  • Аналітика в реальному часі (аналітика соцмереж, реклама)
  • Ігрові таблиці лідерів (рейтинги в реальному часі)
  • тощо
Концепції NoSQL

Redis — у хмарі

  • Amazon Web Services Elasticache для Redis
  • Microsoft Azure Cache для Redis в Azure
  • Alibaba ApsaraDB для Redis в Alibaba Cloud
Концепції NoSQL

Redis — клієнти

Логотипи деяких клієнтів Redis

Концепції NoSQL

Кейс-стаді Editoo

Логотип Editoo

  • Малий бізнес
  • Онлайн-інструмент для створення індивідуальних журналів
    • персональних
    • бізнес-журналів

Проблема:

  • Висока затримка через зростання кількості користувачів
  • Їхня RDBMS не впоралася зі зростанням

 

Рішення: використати Redis

  • Зберігати користувацькі сесії
  • Кешувати запити до бази даних
Концепції NoSQL

Кейс-стаді Editoo

Результати:

  • Менше простоїв
  • Вища продуктивність
  • Майбутні міграції з реляційних БД до Redis
Концепції NoSQL

Кейс-стаді Editoo

Результати:

  • Менше простоїв
  • Вища продуктивність
  • Майбутні міграції з реляційних БД до Redis
1 https://redis.io/customers/
Концепції NoSQL

Давайте потренуємось!

Концепції NoSQL

Preparing Video For Download...