Зарегистрируйтесь, чтобы продолжить обучение

Введение и установка Основы Redis

Представьте, что вы пишете back-end небольшого интернет-магазина, состоящего из серверного приложения с бизнес-логикой и реляционной базы данных: shop

Первое время архитектура покрывает все ваши нужды: товары отображаются, заказы создаются быстро. Но со временем проект усложняется. Чаще всего это вызвано двумя факторами:

  • продукт требует новой бизнес-логики
  • рост пользовательской базы несет дополнительную нагрузку на сервера

В определенный момент реляционной системы управления базами данных (далее "РСУБД") становится недостаточно и в архитектуре появляются дополнительные технологии для решения конкретных проблем.

Несколько примеров практических задач, когда РСУБД — неподходящее или неоптимальное решение:

  • отображение количества пользователей, находящихся на странице в режиме реального времени
  • ускорение времени ответа на тяжелый HTTP запрос
  • отложенная отправка писем/смс при оформлении заказа
  • отображение недавних покупок/просмотренных товаров на всех платформах

Для эффективного решения вышеописанных задач подходит open-source база данных Redis. Сегодня тысячи компаний, включая Instagram, Twitter, Uber, Airbnb, выбирают Redis за его скорость и масштабируемость.

Все основные варианты использования Redis будут рассмотрены по ходу этого курса. Сейчас достаточно знать главные особенности этого хранилища:

  • in-memory означает, что данные хранятся в оперативной памяти. Это накладывает ограничение на объем данных, который хранится в Redis, но дает более быстрое чтение и запись по сравнению с длительными хранилищами (NVME, SSD, HDD)
  • KV хранилище (key-value). В Redis нет таблиц, схем или каких-либо других абстракций для доступа к данным. Все данные записываются и получаются по ключам. Вследствие этого основные операции выполняются за O(1)

Установка

Несмотря на то, что вся практика для данного курса выполняется в нашей среде, это не отменяет необходимости умения работать с базой локально. Более того, эффективное обучение невозможно без повторения примеров из уроков в своей среде. Поэтому, перед тем, как начать, необходимо установить Redis локально.

Выберите в инструкции удобный способ установки. Проверьте, что CLI подключается к серверу:

redis-cli

127.0.0.1:6379>

Если вы видите это в командной строке, значит вы находитесь в интерактивной оболочке Redis и можете вводить команды для работы с базой данных Redis.

Резюме

  1. Redis — это очень быстрая key-value БД, хранящая все данные в оперативной памяти
  2. В зависимости от задачи Redis может быть и базой данных, и кэшом, и даже брокером сообщений
  3. Важно установить Redis локально и поработать с ним из терминала, так как взаимодействие из любого языка программирования происходит через такие же CLI-команды

Что будет дальше

В этом курсе рассматриваются основные варианты использования Redis с практическими примерами:

  • key-value база данных
  • кэширование
  • типы данных и их применение
  • брокер сообщений и отложенные задачи

Дополнительные материалы

  1. Redis
  2. Инструкция по установке Redis

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»