HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Представьте, что вы пишете back-end небольшого интернет-магазина, состоящего из серверного приложения с бизнес-логикой и реляционной базы данных:</p>
1 <p>Представьте, что вы пишете back-end небольшого интернет-магазина, состоящего из серверного приложения с бизнес-логикой и реляционной базы данных:</p>
2 <p>Первое время архитектура покрывает все ваши нужды: товары отображаются, заказы создаются быстро. Но со временем проект усложняется. Чаще всего это вызвано двумя факторами:</p>
2 <p>Первое время архитектура покрывает все ваши нужды: товары отображаются, заказы создаются быстро. Но со временем проект усложняется. Чаще всего это вызвано двумя факторами:</p>
3 <ul><li>продукт требует новой бизнес-логики</li>
3 <ul><li>продукт требует новой бизнес-логики</li>
4 <li>рост пользовательской базы несет дополнительную нагрузку на сервера</li>
4 <li>рост пользовательской базы несет дополнительную нагрузку на сервера</li>
5 </ul><p>В определенный момент реляционной системы управления базами данных (далее "РСУБД") становится недостаточно и в архитектуре появляются дополнительные технологии для решения конкретных проблем.</p>
5 </ul><p>В определенный момент реляционной системы управления базами данных (далее "РСУБД") становится недостаточно и в архитектуре появляются дополнительные технологии для решения конкретных проблем.</p>
6 <p>Несколько примеров практических задач, когда РСУБД - неподходящее или неоптимальное решение:</p>
6 <p>Несколько примеров практических задач, когда РСУБД - неподходящее или неоптимальное решение:</p>
7 <ul><li>отображение количества пользователей, находящихся на странице в режиме реального времени</li>
7 <ul><li>отображение количества пользователей, находящихся на странице в режиме реального времени</li>
8 <li>ускорение времени ответа на тяжелый HTTP запрос</li>
8 <li>ускорение времени ответа на тяжелый HTTP запрос</li>
9 <li>отложенная отправка писем/смс при оформлении заказа</li>
9 <li>отложенная отправка писем/смс при оформлении заказа</li>
10 <li>отображение недавних покупок/просмотренных товаров на всех платформах</li>
10 <li>отображение недавних покупок/просмотренных товаров на всех платформах</li>
11 </ul><p>Для эффективного решения вышеописанных задач подходит open-source база данных Redis. Сегодня тысячи компаний, включая Twitter, Uber, Airbnb, выбирают Redis за его скорость и масштабируемость.</p>
11 </ul><p>Для эффективного решения вышеописанных задач подходит open-source база данных Redis. Сегодня тысячи компаний, включая Twitter, Uber, Airbnb, выбирают Redis за его скорость и масштабируемость.</p>
12 <p>Все основные варианты использования Redis будут рассмотрены по ходу этого курса. Сейчас достаточно знать главные особенности этого хранилища:</p>
12 <p>Все основные варианты использования Redis будут рассмотрены по ходу этого курса. Сейчас достаточно знать главные особенности этого хранилища:</p>
13 <ul><li><em>in-memory</em>означает, что данные хранятся в оперативной памяти. Это накладывает ограничение на объем данных, который хранится в Redis, но дает более быстрое чтение и запись по сравнению с длительными хранилищами (NVME, SSD, HDD)</li>
13 <ul><li><em>in-memory</em>означает, что данные хранятся в оперативной памяти. Это накладывает ограничение на объем данных, который хранится в Redis, но дает более быстрое чтение и запись по сравнению с длительными хранилищами (NVME, SSD, HDD)</li>
14 <li><em>KV хранилище (key-value)</em>. В Redis нет таблиц, схем или каких-либо других абстракций для доступа к данным. Все данные записываются и получаются по ключам. Вследствие этого основные операции выполняются за O(1)</li>
14 <li><em>KV хранилище (key-value)</em>. В Redis нет таблиц, схем или каких-либо других абстракций для доступа к данным. Все данные записываются и получаются по ключам. Вследствие этого основные операции выполняются за O(1)</li>
15 </ul><h2>Установка</h2>
15 </ul><h2>Установка</h2>
16 <p>Несмотря на то, что вся практика для данного курса выполняется в нашей среде, это не отменяет необходимости умения работать с базой локально. Более того, эффективное обучение невозможно без повторения примеров из уроков в своей среде. Поэтому, перед тем, как начать, необходимо установить Redis локально.</p>
16 <p>Несмотря на то, что вся практика для данного курса выполняется в нашей среде, это не отменяет необходимости умения работать с базой локально. Более того, эффективное обучение невозможно без повторения примеров из уроков в своей среде. Поэтому, перед тем, как начать, необходимо установить Redis локально.</p>
17 <p>Выберите в<a>инструкции</a>удобный способ установки. Проверьте, что CLI подключается к серверу:</p>
17 <p>Выберите в<a>инструкции</a>удобный способ установки. Проверьте, что CLI подключается к серверу:</p>
18 <p>Если вы видите это в командной строке, значит вы находитесь в интерактивной оболочке Redis и можете вводить команды для работы с базой данных Redis.</p>
18 <p>Если вы видите это в командной строке, значит вы находитесь в интерактивной оболочке Redis и можете вводить команды для работы с базой данных Redis.</p>
19 <h2>Резюме</h2>
19 <h2>Резюме</h2>
20 <ol><li>Redis - это очень быстрая key-value БД, хранящая все данные в оперативной памяти</li>
20 <ol><li>Redis - это очень быстрая key-value БД, хранящая все данные в оперативной памяти</li>
21 <li>В зависимости от задачи Redis может быть и базой данных, и кэшом, и даже брокером сообщений</li>
21 <li>В зависимости от задачи Redis может быть и базой данных, и кэшом, и даже брокером сообщений</li>
22 <li>Важно установить Redis локально и поработать с ним из терминала, так как взаимодействие из любого языка программирования происходит через такие же CLI-команды</li>
22 <li>Важно установить Redis локально и поработать с ним из терминала, так как взаимодействие из любого языка программирования происходит через такие же CLI-команды</li>
23 </ol><h2>Что будет дальше</h2>
23 </ol><h2>Что будет дальше</h2>
24 <p>В этом курсе рассматриваются основные варианты использования Redis с практическими примерами:</p>
24 <p>В этом курсе рассматриваются основные варианты использования Redis с практическими примерами:</p>
25 <ul><li>key-value база данных</li>
25 <ul><li>key-value база данных</li>
26 <li>кэширование</li>
26 <li>кэширование</li>
27 <li>типы данных и их применение</li>
27 <li>типы данных и их применение</li>
28 <li>брокер сообщений и отложенные задачи</li>
28 <li>брокер сообщений и отложенные задачи</li>
29 </ul>
29 </ul>