Управление кэшем объектов

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

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

  • Слой виден на панели Содержание
  • Слой отображается на основе диапазона видимых масштабов
  • Итоговое число отображаемых объектов в 5 раз меньше, чем значение параметра maxRecordCount в слое сервиса
  • Опция кэширования в диалоговом окне свойств слоя задана как Очистить кэш при завершении сеанса.
  • Оценочное количество объектов в видимом экстенте в 5 раз меньше, чем значение параметра maxRecordCount в слое сервиса, если для него заданы фильтры

В сценариях, когда приложение решает не заполнять кэш объектов для слоя (другими словами, пять критериев, перечисленных выше, не выполняются), вы можете управлять кэшем вручную, чтобы воспользоваться преимуществами производительности, обеспечиваемыми кэшем.

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

Более подробную информацию о кэшировании см. в разделе: Как работает кэширование.

Показать группу Кэш объектов

По умолчанию группа Кэш объектов скрыта на ленте. Выполните инструкции ниже, чтобы перейти к элементам управления в этой группе.

  1. Щелкните вкладку Проект и выберите Опции.
  2. В диалоговом окне Опции в разделе Приложение щелкните вкладку Карта и сцена.
  3. Разверните Кэш объектов и поставьте отметку Управлять кэшированием объектов из вкладки карты.
  4. Нажмите кнопку ОК, чтобы сохранить значения параметров и закрыть диалоговое окно.

Автокэширование

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

Примечание:

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

Заполнение кэша объектов для текущей карты

Кэш объектов перед использованием необходимо наполнить.

На вкладке Карта в группе Кэш объектов щелкните Заполнить Включить кэш объектов для заполнения кэша для всех видимых слоев на карте.

Внимание:

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

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

Если источник данных слоя доступен для нескольких карт в одном проекте, то кэшированные объекты будут доступны для всех карт.

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

Примечание:

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

Внимание:

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

Очистка кэша объектов для текущей карты

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

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

Внимание:

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

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

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

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

Отмена заполнения кэша объектов

Если вы щелкнули кнопку Заполнить Включить кэш объектов и этот процесс занимает дольше времени, чем вы ожидаете, либо если вы щелкнули ее случайно, вы можете отменить этот процесс. Эта кнопка доступна только в случае, если кэш заполняется.

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

Внимание:

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

Вы получите уведомление, когда заполнение кэша будет отменено.

Связанные разделы