Добавление кэширования для повышения производительности в службе управления API Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Standard v2 | Премиум

Операции в управлении API можно настроить для кэширования ответов. Кэширование ответов может значительно снизить задержку для вызовов API и серверной нагрузки для поставщиков API.

Внимание

Встроенный кэш является непостоянным и совместно используется всеми единицами одного региона в той же службе Управления API. Независимо от типа используемого кэша (внутренний или внешний), если операции, связанные с кэшем, не могут подключиться к кэшу из-за его изменчивости или по любой другой причине, вызов API, использующий связанную с кэшем операцию, не вызывает ошибку, и операция кэша завершается успешно. При выполнении операций чтения возвращается значение null в ответ на выражение вызова политики. Код политики должен быть разработан, чтобы гарантировать, что в кэше есть резервный механизм для извлечения данных, не найденных в кэше. Дополнительные сведения о кэшировании см. в статьях Политики кэширования в службе "Управление API" и Пользовательское кэширование в службе "Управление API Azure".

Политики кэширования

Из этого руководства вы узнаете, как выполнять такие задачи:

  • добавление кэширования ответов для API;
  • проверка кэширования в действии.

Примечание.

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

Необходимые компоненты

Для работы с этим руководством:

Добавление политик кэширования

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

  1. Войдите на портал Azure.

  2. Перейдите к экземпляру службы управления API Azure.

  3. Выберите вкладку API.

  4. В списке API выберите Demo Conference API.

  5. Выберите GetSpeakers.

  6. В верхней части экрана выберите вкладку Конструктор.

  7. В разделе Обработка входящих запросов щелкните значок </>.

    Редактор кода

  8. В элемент inbound добавьте следующую политику:

    <cache-lookup vary-by-developer="false" vary-by-developer-groups="false">
        <vary-by-header>Accept</vary-by-header>
        <vary-by-header>Accept-Charset</vary-by-header>
        <vary-by-header>Authorization</vary-by-header>
    </cache-lookup>
    
  9. В элемент outbound добавьте такую политику:

    <cache-store duration="20" />
    

    Длительность указывает интервал срока действия кэшированных ответов. В этом примере интервал составляет 20 секунд.

Совет

Если вы используете внешний кэш, как описано в статье Use an external Azure Cache for Redis in Azure API Management (Использование внешнего кэша Azure для Redis в службе Azure "Управление API"), возможно, потребуется указать атрибут caching-type политик кэширования. Дополнительные сведения см. в статье Политики кэширования в службе управления API.

Вызов операции и проверка кэширования

Чтобы увидеть кэширование в действии, вызовите операцию на портале разработчика.

  1. На портале Azure перейдите к экземпляру службы управления API Azure.
  2. Выберите вкладку Интерфейсы API.
  3. Выберите API, в который вы добавили политики кэширования.
  4. Щелкните операцию GetSpeakers.
  5. Перейдите на вкладку Тестирование в правом верхнем меню.
  6. Нажмите кнопку Отправить.

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