Как использовать облачные базы данных Redis
Ульяна Малышева
Технический писатель

Это первая нереляционная СУБД в платформенных сервисах Selectel. Разбираемся, чем она хороша и кому подойдет.


Redis, или Remote Dictionary Server, — это резидентная база данных типа «ключ-значение» с открытым исходным кодом. Она занимает шестое место в рейтинге самых популярных баз данных, по версии DB-Engines

Главное отличие Redis от «классических» MySQL или PostgreSQL — в том, что эта СУБД хранит данные в оперативной памяти и работает быстрее. Размер базы ограничен объемом ОЗУ.

Redis способна периодически сохранять данные на диск. В зависимости от выбранного правила она сделает это раз в час/секунду, при изменении N количества ключей или другом условии. Информация не потеряется при штатной перезагрузке узла, но рискует пропасть в аварийных ситуациях. 

Данные в Redis хранятся по упрощенной модели «ключ-значение». Ключ служит уникальным идентификатором, через который можно получить доступ к вводу и обновлению данных.

Допустим, у нас есть база типа «ключ-значение», хранящая счетчик просмотров видео. Ключом будет цифровой идентификатор этого видео, а значением — количество просмотров. Обращаясь в базу, мы как бы говорим ей: «Дай нам число просмотров к видео #12345» или «Увеличь значение просмотров видео #12345 на единицу» .

Модель хранения «ключ-значение» тоже влияет на скорость взаимодействия с базой данных. Но важно понимать, что не любую базу можно адаптировать под нее. 

Кому подойдет Redis

СУБД создана для задач, где нужен быстрый доступ к данным в режиме реального времени. Обычно эту базу данных используют как кэш-прослойку между «внешним миром» и более медленной реляционной базой. То есть у компании есть надежная PostgreSQL, MySQL или Oracle, но часть часто запрашиваемых данных выносится в Redis, чтобы повысить скорость работы пользователя с сервисом или приложением.

Нередко СУБД используют в разработке финансовых и рекламных сервисов, игровых приложений, IoT, но сферы могут быть самыми разными. Основная задача — быстрый доступ к данным.

Кому не подойдет Redis

Систему лучше не использовать как единственное хранилище данных. Любая инфраструктурная проблема — сетевая недоступность, падение системы, достижение лимита памяти — приведет к потере информации. Если это критично для бизнеса, нужно использовать Redis в связке с реляционными базами данных. Также в этой СУБД не получится работать с большими данными из-за лимитов памяти. 

Сценарии использования

Кэширование данных 

У компании N модный сайт с большим количеством картинок. Страницы не всегда подгружаются так быстро, как хотелось бы. Разработчики настроили кэш-прослойку в Redis. Картинки стали подгружаться без временного лага, а нагрузка на сайт и основную базу данных с изображениями снизилась. 

Добавление чатов, лент новостей и контроля очереди в реальном времени

Редакция онлайн-издания Y хочет повысить вовлеченность читателей и решает добавить на сайт площадку для дискуссий и живой чат. Чтобы выдержать нагрузку, обеспечить быстрый обмен сообщениями и блокировать нежелательные месседжи, администратор сайта выбрал Redis. Теперь он может создавать упрощенные очереди сообщений и ленты комментариев.

Хранение пользовательских сессий 

Компания X хочет увеличить юзабилити своего приложения, чтобы эффективнее конвертировать посетителей в клиентов. Она начала записывать и хранить данные пользовательских сессий в Redis, чтобы потом их проанализировать. Теперь каждой сессии присваивается уникальный идентификатор, по которому можно быстро получить доступ к данным и обработать их.

Ведение таблицы лидеров в играх

Компания Z запустила спецпроект — мобильную игру с турнирной таблицей. Победителям обещали новый iPhone от спонсора. Рейтинг лидеров, которые на текущем этапе набрали больше всех очков, должен обновляться ежесекундно. Для этого разработчики выбрали структуру данных Redis Sorted Set — она обеспечивает уникальность элементов и сортировку списка по результатам.

Использование моделей машинного обучения

Стартап S развивает сервис по подбору съемного жилья. В системе рекомендаций учитываются данные о поведении пользователя: что он добавлял в закладки, куда кликал, его профиль, пожелания и прочее. Чтобы клиент мог быстро получать персонализированную подборку, разработчики выбрали Redis, обеспечивающий работу с алгоритмами машинного обучения. 

Это лишь часть вариантов применения Redis. Больше кейсов можно найти на официальном сайте Redis Labs в разделе Redis Best Practices


Для начала работы с облачными базами данных Redis выберите нужную конфигурацию и операционную систему в панели управления — в течение 2-3 минут вы получите кластер базы данных, с которым можно работать. Чтобы не запутаться на этом этапе, сверьтесь с инструкцией.

Облачные базы данных Redis можно использовать в связке с выделенными и облачными серверами, с кластерами Kubernetes и облачными базами данных MySQL и PostgreSQL.

До конца года сервис находится в бете — использовать его можно бесплатно. Тестируйте производительность, пока мы делаем базу более функциональной, и делитесь фидбэком в тикетах.

Что еще почитать по теме

Сергей Ковалев 18 ноября 2021

Как мы выбирали лучшие из 9 новых GPU NVIDIA

Весной 2021 года NVIDIA представила новую линейку видеокарт RTX Ax000 и Ax0 на архитектуре Ampere, с тензорными ядрами третьего поколения. Мы отобрали лучшие для серверов Selectel.
Сергей Ковалев 18 ноября 2021

Маленькие «малинки» в крупном дата-центре: автоустановка

Это заключительная часть цикла статей, посвященного интеграции одноплатных компьютеров Raspberry Pi 4 в наши дата-центры. Сегодня соберем эти знания в цельную картину: зачем нам кастомная опция 224 и …

Новое в блоге

T-Rex 2 декабря 2021

Как технологии делают донорство крови эффективным?

DonorSearch — крупнейшее в России сообщество доноров крови, которое за несколько лет выросло из небольшого паблика в соцсети в современную IT-платформу.
T-Rex 2 декабря 2021
T-Rex 1 декабря 2021

Итоги Retro Game Jam ’21

Рассказываем, как прошел Retro Game Jam ’21  и какие команды получили призы.
T-Rex 1 декабря 2021
Ульяна Малышева 26 ноября 2021

Линейки облачных серверов Selectel: какие бывают и как выбрать

На данный момент у нас шесть линеек облачных серверов фиксированной конфигурации: Standard, CPU, Memory, GPU, Shared, HighFreq.
Ульяна Малышева 26 ноября 2021