Поделиться через


Как кэширование на стороне сервера работает в Power Pages

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

Кэширование на стороне сервера выполняется для двух типов таблиц, описанных ниже:

Таблицы метаданных/конфигурации

Таблицы метаданных/конфигурации представляют собой все таблицы, в которых хранится информация о конфигурации веб-сайта, такая как веб-страницы, веб-шаблоны, фрагменты содержимого и др.

Ниже приведены таблицы, которые считаются таблицами конфигурации. Этот список фиксирован, и его невозможно изменить путем какой-либо настройки.

Заметка

  • Таблицы, используемые для конфигурации сайта, будут зависеть от того, настроен ли сайт с использованием стандартной или расширенной модели данных. Дополнительные сведения см. в разделе Расширенная модель данных.
  • Изменение этих таблиц невозможно.
Системная таблица Виртуальная таблица расширенной модели данных Таблица стандартной модели данных
powerpagesite mspp_website adx_website
powerpagesitelanguage mspp_websitelanguage adx_websitelanguage
powerpagecomponent mspp_columnpermission
mspp_columnpermissionprofile
mspp_contentsnippet
mspp_entityform
mspp_entityformmetadata
mspp_entitylist
mspp_entitypermission
mspp_pagetemplate
mspp_pollplacement
mspp_publishingstate
mspp_publishingstatetransitionrule
mspp_redirect
mspp_shortcut
mspp_sitemarker
mspp_sitesetting
mspp_webfile
mspp_webform
mspp_webformmetadata
mspp_webformstep
mspp_weblink
mspp_weblinkset
mspp_webpage
mspp_webpageaccesscontrolrule
mspp_webrole
mspp_websiteaccess
mspp_websitelanguage
mspp_webtemplate
adx_columnpermission
adx_columnpermissionprofile
adx_contentsnippet
adx_entityform
adx_entityformmetadata
adx_entitylist
adx_entitypermission
adx_pagetemplate
adx_pollplacement
adx_publishingstate
adx_publishingstatetransitionrule
adx_redirect
adx_shortcut
adx_sitemarker
adx_sitesetting
adx_webfile
adx_webform
adx_webformmetadata
adx_webformstep
adx_weblink
adx_weblinkset
adx_webpage
adx_webpageaccesscontrolrule
adx_webrole
adx_websiteaccess
adx_websitelanguage
adx_webtemplate

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

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

Вариант Details
Студия дизайна Выбор параметра Предварительный просмотр в студии дизайна приведет к очистке кэша.
/_services/about страница на веб-сайте Перейдите на веб-сайт, добавив "/_services/about" к URL-адресу веб-сайта, и используйте параметр очистить конфигурацию или очистить кэш. Чтобы видеть эти параметры, пользователь должен иметь веб-роль, которой назначены все разрешения на доступ к веб-сайту.

Очистите кэш.

Заметка

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

Для всех таблиц конфигурации в организации должно быть включено уведомление об изменениях. Уведомление об изменении установлено правильно по умолчанию и не должно изменяться.

Таблицы данных

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

Этот кэш обновляется с использованием нескольких механизмов, описанных ниже:

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

  • Кэш очищается автоматически в течение 15 минут, даже если не вносятся никакие изменения.

  • Кэш очищается вручную с помощью следующих параметров:

    Вариант Details
    Студия дизайна Выбор параметра Предварительный просмотр в студии дизайна приведет к очистке кэша.
    /_services/about страница на веб-сайте Перейдите на веб-сайт, добавив "/_services/about" к URL-адресу веб-сайта, и используйте параметр очистить конфигурацию или очистить кэш. Чтобы видеть эти параметры, пользователь должен иметь веб-роль, которой назначены все разрешения на доступ к веб-сайту.

Заметка

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

Вопросы и ответы по

  1. Могу ли я изменить продолжительность обновления кэша с 15 минут на меньшую?

    Нет. SLA для обновления кэша остается 15 минут. Любые изменения, производимые из Dataverse, отражаются на веб-сайте в течение 15 минут как для таблиц данных, так и для таблиц конфигурации.

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

    Такой подход к дизайну не рекомендуется. За исключением первичной записи, в которой запускается действие создания или обновления, немедленное отображение данных из Dataverse на веб-сайтах никогда не гарантируется.

  3. Отличается ли кэширование для веб-сайтов на основе емкости от кэширования для порталов на основе дополнений (надстроек)?

  4. Сколько времени требуется для отражения изменений из веб-сайта в Dataverse?

    Изменения отражаются немедленно, если обновление изменяет основную запись и не основано на косвенных изменениях данных с использованием подключаемых модулей пост-операций или бизнес-процессов.