Power Pages 中服务器端缓存的工作方式

为了提高可扩展性和性能,Power Pages 网站会缓存从 Microsoft Dataverse 查询的数据。 此缓存是在应用程序服务器上对所有业务数据和网站元数据完成的缓存,不同于基于浏览器或内容分发网络的静态资源缓存。

系统对下述两种类型的表完成了服务器端缓存:

元数据/配置表

元数据/配置表表示所有存储网站配置信息(如网页、Web 模板、内容片段等)的表。

下表被视为配置表。 此列表是固定列表,不能通过任何配置来修改。

备注

  • 用于站点配置的表取决于站点是使用标准数据模型还是增强数据模型配置。 有关详细信息,请参阅增强数据模型
  • 这些表无法修改。
系统表 增强数据模型虚拟表 标准数据模型表
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,从而使用清除配置清除缓存选项。 要查看这些选项,用户应该拥有一个分配了所有网站访问权限的 Web 角色。

清除缓存。

备注

更新配置表中的数据,或调用清除缓存或配置操作应在非高峰时段执行。 频繁或过多的表更改可能对网站性能产生不利影响。

必须为组织中的更改通知启用所有配置表。 更改通知默认情况下设置正确,不应修改。

数据表

数据表代表存储网站上显示的业务数据的所有 Dataverse 表。 此数据通常按用户缓存,但在某些情况下除外,例如具有全局权限的匿名用户或表。 此外,仅缓存用户在网站上访问的数据,而不缓存整个表的数据。

此缓存通过以下描述的几种机制进行更新:

  • 任何网站用户在网站上创建、更新或删除表(或相关表)的任何记录。 该操作将立即清除该特定表的所有网站用户的缓存。

  • 即使未进行任何更改,也会在 15 分钟内自动清除缓存。

  • 通过以下选项手动清除缓存:

    选项 Details
    设计工作室 选择设计工作室上的预览选项将清除缓存。
    网站上的 /_services/about 页面 导航到网站,并将“/_services/about”追加到网站的 URL,从而使用清除配置清除缓存选项。 要查看这些选项,用户应该拥有一个分配了所有网站访问权限的 Web 角色。

备注

清除缓存选项应该很少使用,因为它会清除所有数据表和配置表的缓存,并可能导致暂时的缓慢。 对于使用量大的实时站点,这可能会导致用户面临性能问题。

常见问题解答

  1. 是否可以将缓存刷新持续时间从 15 分钟更改为更短的持续时间?

    否。 缓存刷新的 SLA 仍然为 15 分钟。 对于数据表和配置表,Dataverse 中的任何更改都将在 15 分钟内反映在网站上。

  2. 我使用插件或工作流更新其他表中的数据,并且需要使这些数据更改立即反映在我的网站上。

    不建议使用这种设计方法。 除了触发创建或更新操作的主记录之外,从 Dataverse 到网站的数据反映永远不能保证是即时的。

  3. 基于容量的网站的缓存与加载项门户的缓存之间是否存在任何不同之处?

    不包括。

  4. 需要多少时间才会在 Dataverse 中体现在网站中进行的更改?

    立即,前提是更新更改的是主记录,并且不是基于使用发布操作插件或工作流对数据进行的间接更改。