Общие сведения о кэше Redis для Azure

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

Кэш Azure для Redis предлагает как управляемую службу Redis с открытым кодом (OSS Redis) и коммерческий продукт от Redis Inc. (Redis Enterprise). Он предоставляет защищенные и выделенные экземпляры сервера Redis и полную совместимость с Redis API. Служба обслуживается корпорацией Майкрософт, размещается в Azure и может использоваться любым приложением в среде Azure и за ее пределами.

Кэш Azure для Redis можно использовать как распределенный кэш данных или кэш содержимого, хранилище сеансов, брокер сообщений и т. д. Его можно развернуть как автономную службу или вместе с другими службами Azure, как Azure SQL и Cosmos DB.

Основные сценарии

Кэш Azure для Redis повышает производительность приложений за счет поддержки стандартных шаблонов архитектуры приложений. Ниже перечислены некоторые наиболее распространенные шаблоны.

Шаблон Описание
Кэш данных Базы данных часто слишком велики для загрузки непосредственно в кэш. Обычно используется шаблон кэш на стороне для загрузки данных только при необходимости. Когда система вносит изменения в данные, она может обновлять кэш, который затем распространяется на другие клиенты. Кроме того, система может установить истечение срока действия данных или использовать политику вытеснения, чтобы вызвать обновление данных в кэше.
Кэш содержимого Многие веб-страницы создаются на основе шаблонов, использующих статическое содержимое, например верхние и нижние колонтитулы или баннеры. Эти статические элементы должны изменяться не часто. Использование кэша в памяти обеспечивает быстрый (по сравнению с серверными хранилищами данных) доступ к статическому содержимому. Данный шаблон сокращает время обработки и нагрузку на сервер, что позволяет повысить скорость реагирования веб-серверов. Это позволяет сократить количество серверов, необходимых для обработки нагрузок. Кэш Azure для Redis предоставляет поставщик кэша вывода Redis для поддержки этого шаблона с помощью ASP.NET.
Хранилище сеансов Этот шаблон обычно используется с корзинами покупок и другими данными из истории пользователя, которую веб-приложение может связать с файлами cookie пользователя. Хранение большого объема содержимого в файле cookie может отрицательно сказаться на производительности, так как размер этого файла растет, передается и проверяется с каждым запросом. Типичным решением является использование файла cookie в качестве ключа для запроса данных в базе данных. Использование кэша в памяти, например кэша Azure для Redis, для связывания информации с пользователем намного быстрее, чем взаимодействие с полной реляционной базой данных.
Очереди задач и сообщений Приложения часто добавляют задачи в очередь, если для выполнения операций, связанных с запросом, требуется какое-то время. Более длительные операции помещаются в очередь для последовательной обработки (зачастую на другом сервере). Этот метод отсрочки работы называется постановкой задач в очередь. Кэш Azure для Redis предоставляет распределенную очередь, обеспечивающую возможность использования этого шаблона в приложении.
Распределенные транзакции Приложениям иногда требуется, чтобы ряд команд для серверного хранилища данных выполнялся как единая атомарная операция. Все команды должны успешно завершиться или все транзакции должны быть возвращены в исходное состояние. Кэш Azure для Redis поддерживает выполнение пакета команд в рамках одной транзакции.

Версии Redis

Кэш Azure для Redis поддерживает OSS Redis версии 4.0.x и 6.0.x. Мы решили пропустить Redis 5.0 и предоставить вам последнюю версию. Ранее Кэш Azure для Redis поддерживал одну версию Redis. В будущем он будет обеспечивать поддержку обновления до новой основной версии и по меньшей мере одной предыдущей стабильной версии. Вы можете выбрать версию для своего приложения.

Уровни службы

Кэш Azure для Redis доступен на таких уровнях:

Уровень Описание
Basic Кэш OSS Redis работает на одной виртуальной машине. Этот уровень не имеет Соглашения об уровне обслуживания (SLA) и идеально подходит для разработки, тестирования и некритических рабочих нагрузок.
Standard Кэш OSS Redis работает на двух виртуальных машинах в реплицированной конфигурации.
Premium Высокопроизводительные кэши OSS Redis. Этот уровень обеспечивает более высокую пропускную способность, меньшую задержку, лучшую доступность и другие функции. Кэш уровня "Премиум" развертывается на более мощных виртуальных машинах, если сравнивать с уровнями "Базовый" и "Стандартный".
Предприятие Высокопроизводительные кэши на основе программного обеспечения Redis Enterprise Redis Inc. Этот уровень поддерживает модули Redis, включая RediSearch, RedisBloom и RedisTimeSeries. Он также обеспечивает еще больший уровень доступности, чем уровень "Премиум".
Enterprise Flash Большие рентабельные кэши на основе программного обеспечения Redis Enterprise от Redis Inc. Этот уровень расширяет хранилище данных Redis на виртуальной машине до энергонезависимой памяти, которая является менее затратной, чем DRAM. Это снижает общую стоимость памяти за один ГБ.

Сравнение возможностей

Страница Цены на кэш Azure для Redis содержит подробное сравнение цен каждого уровня. В следующей таблице описаны некоторые функции, поддерживаемые уровнями:

Описание функции Basic Standard Premium Предприятие Enterprise Flash
Соглашение об уровне обслуживания -
Шифрование данных при передаче
Сетевая изоляция
Масштабирование - -
Кластеризация OSS - -
Сохраняемость данных - - Preview (Предварительный просмотр) Preview (Предварительный просмотр)
Избыточность в пределах зоны - -
Георепликация - -
Модули Redis - - - -
Импорт и экспорт - -
Перезагрузка - -
Запланированные обновления - -

Выбор подходящего уровня

При выборе Кэша Azure для уровня Redis необходимо учитывать следующее:

  • Память. Уровни "Базовый" и "Стандартный" предлагают 250 МБ — 53 Гб; уровень "Премиум" — 6 ГБ — 1,2 ТБ; уровни "Корпоративный" — 12 ГБ — 14 ТБ. Для создания кэша уровня "Премиум" с размером более 120 ГБ можно использовать кластеризацию OSS Redis. Дополнительные сведения см. на странице Цены на Кэш Azure для Redis. Дополнительные сведения см. в статье How to configure clustering for a Premium Azure Cache for Redis (Настройка кластеризации кэша Azure для Redis категории "Премиум").
  • Производительность — Кэши на уровнях "Премиум" и "Корпоративный" развертываются на оборудовании с более быстрыми процессорами, обеспечивая лучшую производительность по сравнению с уровнем "Базовый" или "Стандартный". Кэши уровня Премиум обладают более высокой пропускной способностью и меньшей задержкой. Дополнительные сведения см. в разделе Производительность кэша Azure для Redis.
  • Выделенное ядро для сервера Redis. Все кэши, за исключением C0, запускают выделенные ядра виртуальных машин. По умолчанию Redis использует для обработки команд только один поток. Кэш Azure для Redis использует другие ядра для обработки операций ввода-вывода. Наличие большего количества ядер повышает пропускную способность, даже если это не приводит к линейному масштабированию. Кроме того, ВМ больших размеров, как правило, имеют более высокий предел пропускной способности, чем ВМ меньшего размера. Это поможет избежать насыщенности сети, что приведет к превышению времени ожидания в приложении.
  • Производительность сети. Если у вас есть рабочая нагрузка, которая требует высокой пропускной способности, то уровень "Премиум" или "Корпоративный" предоставит большую пропускную способность по сравнению с уровнем "Стандартный" или "Базовый". Также в рамках каждого уровня пропускная способность для кэшей большего размера выше из-за виртуальной машины, на которой размещен кэш. Дополнительные сведения см. в разделе Производительность кэша Azure для Redis.
  • Максимальное число подключений клиентов. Уровни "Премиум" и "Корпоративный" обеспечивают максимальное число клиентов, которые могут подключаться к Redis, причем чем больше размер кэша, тем больше число подключений. Кластеризация увеличивает общий объем пропускной способности сети, доступной для кластеризованного кэша.
  • Высокий уровень доступности. Кэш Azure для Redis предоставляет несколько вариантов высокого уровня доступности. Он гарантирует, что кэш уровня "Стандартный", "Премиум" или "Корпоративный" будет доступен в соответствии с Соглашением об уровне обслуживания. Соглашение об уровне обслуживания распространяется только на подключения к конечным точкам кэша. Соглашение об уровне обслуживания не включает защиту от потери данных. Для повышения устойчивости к потере данных рекомендуется использовать функцию постоянного хранения данных Redis уровня "Премиум" и "Корпоративный".
  • Сохраняемость данных. Уровни "Премиум" и "Корпоративный" позволяют сохранять данные кэша в учетной записи хранения Azure и на управляемом диске соответственно. Проблемы с базовой инфраструктурой могут привести к потере данных. Для повышения устойчивости к потере данных рекомендуется использовать функцию постоянного хранения данных Redis. Кэш Azure для Redis предлагает варианты RDB и AOF (предварительная версия). Сохраняемость данных можно включить с помощью портала Azure и CLI. Дополнительные сведения см. в статье Настройка сохраняемости данных для Кэша Azure для Redis уровня "Премиум".
  • Сетевая изоляция. Развертывание Приватного канала Azure и виртуальной сети (VNET) обеспечивает улучшенную безопасность и изоляцию трафика для кэша Azure для Redis. Виртуальная сеть позволяет дополнительно ограничить доступ с помощью политик управления доступом к сети. Дополнительные сведения см. в статьях Создание кэша Azure для Redis с помощью Приватного канала Azure и Настройка поддержки виртуальной сети для кэша Azure уровня "Премиум" для Redis.
  • Модули Redis. Корпоративные уровни поддерживают RediSearch, RedisBloom и RedisTimeSeries. Эти модули добавляют новые типы данных и функции в Redis.

Вы можете масштабировать кэш после его создания с уровня "Базовый" до уровня "Премиум". Переход на более низкий уровень сейчас не поддерживается. Пошаговые инструкции по масштабированию см. в статье How to Scale Azure Cache for Redis (Масштабирование кэша Azure для Redis) и разделе, посвященному автоматизации операции масштабирования.

Специальные рекомендации для категорий "Корпоративный"

Категории "Корпоративный" полагаются на Redis Enterprise — коммерческий вариант Redis от Redis Inc. Клиенты получают и платят за лицензию на это программное обеспечение с помощью предложения Azure Marketplace. Кэш Azure для Redis будет способствовать приобретению лицензий, и вам не придется делать это дополнительно. Чтобы делать покупки в Azure Marketplace, необходимо выполнить следующие предварительные требования:

  • У вашей подписки Azure должно быть допустимое платежное средство. Деньги на счете в Azure или бесплатные подписки MSDN не поддерживаются.
  • Ваша организация должна разрешать покупки в Azure Marketplace.
  • Если вы используете частный Marketplace, он должен содержать корпоративное предложение Redis Inc.

Важно!

Кэш Azure для Redis уровня "Корпоративный" требует использования стандартных сетевых подсистем Load Balancer, плата за которые начисляется отдельно от платы за экземпляры кэша. Дополнительные сведения см. в статье Цены на Load Balancer.

Если кэш категории "Корпоративный" настроен для нескольких зон доступности, плата за передачу данных будет начисляться по тарифам стандартной сетевой пропускной способности с 1 июля 2022 г.

Кроме того, с сохраняемостью данных вы получаете доступ к функции "Управляемые диски". Эти ресурсы можно использовать бесплатно в общедоступной предварительной версии сохраняемости данных для категорий "Корпоративный". После выпуска общедоступной версии функции это может измениться.

Доступность по регионам

География доступности Кэша Azure для Redis постоянно расширяется, охватывая все новые регионы. Чтобы узнать, в каких регионах его можно использовать, см. раздел Доступность продуктов по регионам.

Дальнейшие действия