Skip to main content

Включить кэширование ответов

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

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

Кэширование ответов для слоя может настроить любой из следующих пользователей:

  • Владелец элемента слоя

  • Участник группы общего обновления, которой доступен элемент слоя

  • Участник с набором административных прав для управления ресурсами, принадлежащими участникам

Предварительные условия для использования кэширования ответов

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

  • Элемент слоя должен относиться к одному из следующих типов, поддерживающих кэширование ответов:

    • Векторный слой

    • Размещенный векторный слой

    • Слой изображений карты

    • Представление размещенного векторного слоя

  • Слой не может ссылаться на версионные данные.

  • Слой должен поддерживать кэширование ответов.

  • Слой должен использовать векторные данные. Растровые данные нельзя использовать для кэширования ответов.

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

  • Хост-сервер должен быть настроен с хранилищем объектов.

  • Запросы на слой должны быть сделаны клиентом, который поддерживает кэширование ответов. В первую очередь к таким клиентам относятся ArcGIS Pro, веб-приложения, созданные с помощью ArcGIS Maps SDK for JavaScript, например Map Viewer, а также собственные приложения, созданные с использованием ArcGIS Maps SDK.

Настройка кэширования ответов для слоя

Выполните следующие действия, чтобы разрешить кэширование ответов:

  1. Войдите в свою организацию как участник с правом обновлять элемент слоя.

  2. Откройте страницу элемента слоя, который необходимо обновить, затем щелкните вкладку Настройки.

  3. В разделе Кэширование ответов щелкните Управление слоями

  4. Используйте переключатель для разрешения или запрета кэширования ответов для каждого слоя, в зависимости от ваших потребностей.

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

  5. Нажмите OK.

  6. На вкладке Настройки щелкните Сохранить, чтобы перезапустить сервис и применить настройки кэширования ответов.

Примечание:

Для включения кэширования ответов в слоях сервиса, опубликованного на сайте интегрированного сервера, отличном от размещающего сервера, необходимо использовать REST API.

Недействительность кэша

Когда ответ кэширован, он используется только до тех пор, пока действителен. По умолчанию кэшированный ответ хранится 1 день. Администратор может использовать REST API для указания другого срока действия. Для получения информации о настройке срока действия для размещенных векторных слоев и представлений размещенных векторных слоев см. раздел Кэширование ответов для слоев размещенных векторных сервисов в ArcGIS Enterprise. Для получения информации о настройке срока действия для векторных слоев и слоев сервиса изображений карты, ссылающихся на зарегистрированные данные, см. раздел Редактирование — Сервис.

Если хранилище объектов использует облачный сервис для хранения данных, кэшированные ответы с истекшим сроком действия удаляются автоматически. Если хранилище объектов было настроено с помощью ArcGIS Data Store, периодически запускайте служебную программу maintaindatastore в хранилище объектов, чтобы удалить кэшированные ответы с истекшим сроком действия.

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

Примечание:

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