Як працює кешування на стороні сервера в 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 хвилин.
Проте, якщо зміни записів потрібні негайно, можна явно очистити кеш за допомогою наведених нижче параметрів.
Варіант | Докладні відомості |
---|---|
Студія дизайну | Якщо вибрати параметр Попередній перегляд у студії дизайну, кеш буде очищено. |
/_services/about сторінка на вебсайті |
Щоб перейти на вебсайт, додайте «/_services/about» до URL-адреси вебсайту, а потім скористайтеся параметром очистити конфігурацію або очистити кеш. Щоб переглянути ці параметри, користувач повинен мати веброль з усіма призначеними дозволами для доступу до вебсайту. |
Нотатка
Оновлення даних у таблицях конфігурації або виклик дії очищення кешу або конфігурації слід виконувати протягом непікових годин. Часті зміни таблиць або дуже велика кількість змін таблиць можуть негативно вплинути на продуктивність вебсайту.
Для сповіщення про зміни в організації потрібно ввімкнути всі таблиці конфігурації. Сповіщення про зміну за замовчуванням установлено правильно, і його не можна змінювати.
Таблиці даних
Таблиці даних представляють усі таблиці Dataverse, в яких зберігаються бізнес-дані, що відображаються на вебсайті. Ці дані зазвичай кешуються для кожного користувача, за винятком певних випадків, як-от анонімні користувачі або таблиці з глобальним дозволом. Крім того, кешується лише дані, доступні користувачу на вебсайті, а не дані для всієї таблиці.
Цей кеш оновлюється за допомогою кількох описаних нижче механізмів.
Будь-який користувач вебсайту можу створювати, оновлювати або видаляти будь-який запис для таблиці (або пов’язаної таблиці) на вебсайті. Дія миттєво очищає кеш для всіх користувачів вебсайту для цієї конкретної таблиці.
Кеш автоматично очищається протягом 15 хвилин, навіть якщо зміни не внесено.
Кеш очищується вручну за допомогою наведених нижче параметрів.
Варіант Докладні відомості Студія дизайну Якщо вибрати параметр Попередній перегляд у студії дизайну, кеш буде очищено. /_services/about
сторінка на вебсайтіЩоб перейти на вебсайт, додайте «/_services/about» до URL-адреси вебсайту, а потім скористайтеся параметром очистити конфігурацію або очистити кеш. Щоб переглянути ці параметри, користувач повинен мати веброль з усіма призначеними дозволами для доступу до вебсайту.
Нотатка
Параметр очищення кешу не слід використовувати часто, оскільки він очищує кеш для всіх таблиць даних, а також для таблиць конфігурацій і може призвести до тимчасового сповільнення роботи. У разі інтерактивного сайту з інтенсивним використанням це може призвести до проблем із продуктивністю.
: запитання й відповіді
Чи можна змінити тривалість оновлення кеша з 15 хвилин на меншу тривалість?
Ні. SLA для оновлення кеша залишається тривалістю 15 хвилин. Будь-які зміни, внесені до Dataverse, відображатимуться на вебсайті протягом 15 хвилин для таблиць даних і таблиць конфігурації.
Я використовую компоненти plug-in або робочі цикли для оновлення даних в інших таблицях, і мені важливо, щоб зміни негайно відображалися на вебсайті.
Цей підхід до проектування не рекомендується. За винятком основного запису, в якому запущено дію «створити» або «оновити», негайне відображення даних із Dataverse на вебсайтах не гарантується.
Чи існує різниця в кешуванні між вебсайтами на основі виробничої спроможності та додатковими порталами?
Ні.
Скільки часу потрібно для відображення змін із вебсайтів у Dataverse?
Негайно, якщо оновлення змінює основний запис і не базується на непрямих змінах у даних за допомогою компонентів plug-in або робочих циклів подальших операцій.