Как кэширование на стороне сервера работает в 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-адресу веб-сайта, и используйте параметр очистить конфигурацию или очистить кэш. Чтобы видеть эти параметры, пользователь должен иметь веб-роль, которой назначены все разрешения на доступ к веб-сайту.
Заметка
Параметр очистки кэша следует использовать редко, так как он очищает кэш для всех таблиц данных, а также для таблиц конфигурации и может временно замедлять работу. В случае активного сайта с интенсивным использованием это может привести к тому, что пользователи столкнутся с проблемами производительности.
Вопросы и ответы по
Могу ли я изменить продолжительность обновления кэша с 15 минут на меньшую?
Нет. SLA для обновления кэша остается 15 минут. Любые изменения, производимые из Dataverse, отражаются на веб-сайте в течение 15 минут как для таблиц данных, так и для таблиц конфигурации.
Я использую подключаемые модули или бизнес-процессы для обновления данных в других таблицах, и мне нужно, чтобы эти изменения данных немедленно отражались на моем веб-сайте.
Такой подход к дизайну не рекомендуется. За исключением первичной записи, в которой запускается действие создания или обновления, немедленное отображение данных из Dataverse на веб-сайтах никогда не гарантируется.
Отличается ли кэширование для веб-сайтов на основе емкости от кэширования для порталов на основе дополнений (надстроек)?
№
Сколько времени требуется для отражения изменений из веб-сайта в Dataverse?
Изменения отражаются немедленно, если обновление изменяет основную запись и не основано на косвенных изменениях данных с использованием подключаемых модулей пост-операций или бизнес-процессов.