Fonctionnement de la mise en cache côté serveur dans Power Pages
Afin d’améliorer l’évolutivité et les performances, les sites web Power Pages mettent en cache les données interrogées depuis Microsoft Dataverse. Cette mise en cache est effectuée sur le serveur d’application pour toutes les données d’entreprise et les métadonnées du site web et est différente de la mise en cache des ressources statiques basée sur le navigateur ou sur le réseau de distribution de contenu.
La mise en cache côté serveur est effectuée pour deux types de tables décrites ci-dessous :
Tables de métadonnées/configuration
Les tables de métadonnées/configuration représentent toutes les tables qui stockent les informations de configuration du site web telles que les pages web, les modèles web, les extraits de contenu, etc.
Les tableaux suivants sont considérés comme des tables de configuration. Cette liste est fixe et ne peut être modifiée par aucune configuration.
Note
- Les tables utilisées pour la configuration du site varient selon que le site a été configuré à l’aide du modèle de données standard ou amélioré. Voir Modèle de données amélioré pour en savoir plus.
- Ces tables ne peuvent pas être modifiées.
Table système | Table virtuelle de modèle de données améliorée | Table de modèle de données standard |
---|---|---|
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 |
Toutes les données de la table de configuration sont identiques pour tous les utilisateurs et sont automatiquement mises en cache. Ce cache de données de configuration pour n’importe quelle table est mis à jour automatiquement lorsqu’un enregistrement est modifié. La mise à jour automatique du cache est accompagnée d’un contrat de niveau de service de 15 minutes. Toute modification apportée à un enregistrement de configuration est automatiquement disponible sur le site web dans les 15 minutes.
Toutefois, si les modifications d’enregistrement sont nécessaires immédiatement, vous pouvez explicitement vider le cache à l’aide des options suivantes ;
Option | Informations |
---|---|
Studio de conception | Sélectionner l’option Version préliminaire sur le studio de conception efface le cache. |
/_services/about page sur le site web |
Utilisez l’option effacer la configuration ou vider le cache en naviguant sur le site web avec ’/_services/about’ ajouté à l’URL du site web. Pour afficher ces options, l’utilisateur doit avoir un rôle web avec toutes les autorisations d’accès au site web attribuées. |
Note
Mettre à jour des données dans les tables de configuration ou invoquer le cache vide ou les actions de configuration doit être effectué pendant les heures creuses. Des changements de table fréquents ou trop nombreux peuvent affecter les performances du site web.
Toutes les tables de configuration doivent être activées pour la notification de modification dans l’organisation. La notification de modification est définie correctement par défaut et ne doit pas être modifiée.
Tables de données
Les tables de données représentent toutes les tables Dataverse qui stockent les données commerciales affichées sur le site web. Ces données sont généralement mises en cache par utilisateur, sauf dans certains cas, comme les utilisateurs anonymes ou les tables avec autorisation globale. De plus, seules les données consultées par l’utilisateur sur le site web sont mises en cache et non les données de la table entière.
Ce cache est mis à jour via plusieurs mécanismes décrits ci-dessous :
Tout enregistrement pour une table (ou une table associée) est créé, mis à jour ou supprimé sur le site web par tout utilisateur du site web. L’action efface instantanément le cache de tous les utilisateurs du site Web pour cette table spécifique.
Le cache est effacé automatiquement dans les 15 minutes même si aucune modification n’est apportée.
Le cache est vidé manuellement via les options suivantes :
Option Informations Studio de conception Sélectionner l’option Version préliminaire sur le studio de conception efface le cache. /_services/about
page sur le site webUtilisez l’option effacer la configuration ou vider le cache en naviguant sur le site web avec ’/_services/about’ ajouté à l’URL du site web. Pour afficher ces options, l’utilisateur doit avoir un rôle web avec toutes les autorisations d’accès au site web attribuées.
Note
L’option d’effacement du cache doit être rarement utilisée, car elle efface le cache de toutes les tables de données ainsi que des tables de configuration et peut entraîner un ralentissement temporaire. Pour les sites en direct avec une utilisation intensive, cela peut entraîner des problèmes de performances pour les utilisateurs.
Questions fréquentes (FAQ)
Puis-je modifier la durée d’actualisation du cache de 15 minutes à une durée moindre ?
Non. Le contrat SLA pour l’actualisation du cache reste 15 minutes. Toute modification de Dataverse s’affiche sur le site web dans les 15 minutes pour les tables de données et les tables de configuration.
J’utilise des plugins ou des flux de travail pour mettre à jour les données dans d’autres tables et j’ai besoin que ces modifications de données soient immédiatement reflétées sur mon site web.
Cette approche de conception n’est pas recommandée. À l’exception de l’enregistrement principal où l’action de création ou de mise à jour est déclenchée, la réflexion des données de Dataverse vers les sites web n’est jamais garantie d’être immédiate.
Existe-t-il une différence de mise en cache entre les sites web basés sur la capacité et les portails complémentaires ?
Non
Combien de temps faut-il pour que les modifications soient répercutées d’un site web vers Dataverse ?
Immédiatement, tant que la mise à jour modifie un enregistrement principal et n’est pas basée sur des modifications indirectes des données à l’aide de plugins ou de workflows après l’opération.