Часто задаваемые вопросы о разработке Управляемого Redis (предварительная версия) Azure

В этой статье приводятся ответы на распространенные вопросы о разработке для Управляемого Redis Azure (предварительная версия).

Как приступить к работе с Управляемым Redis в Azure (предварительная версия)?

Вы можете приступить к работе с Управляемым Redis Azure (предварительная версия).

  • Вы можете ознакомиться с одним из наших руководств, доступных для .NET, ASP.NET, Java, Node.js и Python.
  • Вы можете изучить схемы обучения Redis Для Azure
  • Ознакомьтесь с документацией по примерам клиентов, которые поддерживают язык, используемый при разработке проекта. Существует множество клиентов Redis, которые можно использовать с Управляемым redis в Azure. Список клиентов Redis доступен на странице https://redis.io/clients.

Если у вас нет учетной записи Azure, то вы можете сделать следующее.

  • Открыть бесплатную учетную запись Azure. Вы получаете кредиты, которые можно использовать, чтобы попробовать платные службы Azure. После израсходования кредитов ваша учетная запись не исчезнет. Вы сможете использовать ее для работы с бесплатными службами и функциями Azure.
  • Активировать преимущества подписчика Visual Studio. Ваша подписка MSDN каждый месяц приносит вам кредиты, которые можно использовать для оплаты использования служб Azure.

Что делают параметры конфигурации StackExchange.Redis?

StackExchange.Redis имеет много параметров. В этом разделе рассказывается о некоторых распространенных параметрах. Более подробные сведения о параметрах StackExchange.Redis см. в статье StackExchange.Redis configuration (Конфигурация StackExchange.Redis).

Параметры конфигурации Description Рекомендация
AbortOnConnectFail Если задано значение true, соединение не будет восстанавливаться после сбоя сети. Установите значение false и позвольте StackExchange.Redis автоматически восстанавливать соединение.
ConnectRetry Количество повторных попыток подключения во время первоначального подключения. Руководствуйтесь следующими примечаниями.
ConnectTimeout Время ожидания в миллисекундах для операций подключения. Руководствуйтесь следующими примечаниями.

Обычно подходят значения по умолчанию для клиента. Вы можете точнее настроить параметры в зависимости от своей рабочей нагрузки.

Повторы

  • Общая рекомендация для ConnectRetry и ConnectTimeout — завершение работы при первой ошибке и повторение попытки. Эта рекомендация основана на вашей рабочей нагрузке и на том, сколько времени в среднем занимает в вашем клиенте выдача команды Redis и получение ответа.
  • Вам не нужно проверять состояние и подключаться самостоятельно — StackExchange.Redis переподключается автоматически. Избегайте использования свойства ConnectionMultiplexer.IsConnected.
  • Снежный ком — иногда возникает проблема, при которой вы выполняете повторные попытки, а они накапливаются и не удаляются. При возникновении снежного кома следует использовать алгоритм экспоненциальной задержки повтора, как описано в общих рекомендациях по повторным попыткам, опубликованных группой Microsoft Patterns & Practices.

Значения времени ожидания

  • Исследуйте вашу рабочую нагрузку и установите соответствующие значения. Если вы храните большие значения, установите более высокое значение времени ожидания.
  • Установите для AbortOnConnectFail значение false и позвольте StackExchange.Redis восстанавливать подключение.
  • Используйте один экземпляр ConnectionMultiplexer с длительным сроком действия вместо создания нового подключения для каждого запроса.
  • Задайте в свойстве ConnectionMultiplexer.ClientName уникальное имя экземпляра приложения в целях диагностики.
  • Используйте несколько экземпляров ConnectionMultiplexer для пользовательских рабочих нагрузок.
    • Вы можете следовать этой модели, если в приложении имеется меняющаяся нагрузка. Например:
    • можно иметь один мультиплексор для работы с большими ключами;
    • можно иметь один мультиплексор для работы с небольшими ключами;
    • можно задать разные значения времени ожидания подключения и логики повторов для каждого используемого ConnectionMultiplexer.
    • Установите свойство ClientName в каждом мультиплексоре для облегчения диагностики.
    • Это руководство может привести к более упрощенной задержке на каждый ConnectionMultiplexer.

Какие клиенты Redis можно использовать?

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

Существует ли локальный эмулятор для Управляемого Redis в Azure?

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

private static Lazy<ConnectionMultiplexer>
    lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
    {
        // Connect to a locally running instance of Redis to simulate
        // a local cache emulator experience.
        return ConnectionMultiplexer.Connect("127.0.0.1:6379");
    });

public static ConnectionMultiplexer Connection
{
    get
    {
        return lazyConnection.Value;
    }
}

Redis работает изначально в Linux, но вы также можете использовать подсистема Windows для Linux для запуска Redis на компьютере с Windows. Дополнительные сведения см. в разделе "Установка Redis" в Windows

Как выполнять команды Redis?

Вы можете использовать любые команды, перечисленные в командах Redis, за исключением команд, перечисленных в командах Redis, которые не поддерживаются в Управляемом Redis в Azure. Выполнять команды Redis можно несколькими способами.

Также можно использовать программы командной строки Redis. Сведения об их использовании см. в статье "Использование средства командной строки Redis с управляемым redis Azure"

Почему у Управляемого Redis azure нет ссылки на библиотеку классов MSDN?

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

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

Что такое базы данных Redis?

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

Узнайте о других часто задаваемых вопросых об Управляемом Redis в Azure.