对象缓存

Microsoft Office SharePoint Server 2007 支持某些页面项目的缓存,如导航数据和通过跨列表查询访问的数据。缓存页面项目速度很快并且无需在每次呈现页面时从数据库检索字段数据。缓存系统可缓存页面的完整字段数据,但不包括页面上任何 Web 部件控件的数据。

几乎随时都能缓存页面中的对象。如果用户有已签出的文档,缓存将被绕过。

跨列表查询缓存

跨列表查询缓存调用网站 (SPWeb) 并在一个或多个列表中搜索项目。可以缓存查询的结果,并返回来自多个列表源的数据。缓存可以提高查询的性能。

您只能通过将自定义属性传递给 VaryByCustom 事件处理程序,来扩展跨列表查询缓存。若要了解详细信息,请参阅如何:使用 VaryByCustom 事件处理程序扩展缓存主题。

内容查询 Web 部件使用跨列表查询缓存来提高它的速度和性能。当您缓存跨列表查询时,无需数据库往返便可为内容查询 Web 部件检索结果。您可以跨网站集中的多个网站使用跨列表查询缓存,缓存系统会为每个查询检索并缓存最佳查询结果集。此外,缓存配置还包括足够的元数据,可以在每次执行页面时进行动态修整,以确保安全性。

您几乎可以随时缓存跨列表查询的结果。但查询签出的文档时,从该文档检索的数据将绕过缓存机制;在该文档被签入之前,不会缓存数据。

跨列表查询配置以行乘数的形式表示。查询可以基于时间或基于更改。

备注

Office SharePoint Server 2007 没有用来刷新所有服务器上的对象缓存的 Web 用户界面 (UI)。您可以使用 stsadmin 命令刷新与场中不同 Web 前端计算机上的指定 Web 应用程序关联的所有二进制大型对象 (BLOB) 缓存:

stsadm -o setproperty -propertyname blobcacheflushcount -propertyvalue 11 -url http://mywebapp:port

其中,mywebapp:port 指要刷新 BLOB 缓存的 Web 应用程序的服务器名称和端口号。

步骤

配置对象缓存

  1. 在“网站操作”菜单上,指向“网站设置”,然后单击“修改所有网站设置”。

  2. 在“网站集管理”下,单击“网站集对象缓存”。

  3. 在“对象缓存大小”部分,在框中键入一个值,指定希望对象缓存使用的内存量(以 MB 为单位)。

  4. 在“跨列表查询缓存更改”部分,选择下列选项之一:

    • 如果您的内容经常改变并且希望显示尽可能精确的结果,选择“每次运行跨列表查询时检查服务器上的更改”。

    • 在您通过缓存获得的性能提高不会影响结果准确性的网站集上,选择“在以下时间(秒)内使用跨列表查询的缓存结果”,然后键入缓存查询结果的时间长短(以秒为单位)。

  5. 在“跨列表查询结果乘数”部分,键入一个从 1 到 10 的数字,用作结果乘数。

    如果您的网站集对许多列表和网站应用了唯一安全权限,请键入一个较大的数字。如果您的网站集没有为每个列表或网站使用唯一权限,则键入一个较小的数字。较小的乘数可减少每次查询占用的内容。

  6. 单击“确定”。

刷新对象缓存

  1. 在“网站操作”菜单上,指向“网站设置”,然后单击“修改所有网站设置”。

  2. 在“网站集管理”下,单击“网站集对象缓存”。

  3. 在“对象缓存重置”部分,执行下列一个或多个操作:

    • 若要强制当前服务器刷新其对象缓存,请选中“对象缓存刷新”复选框。

    • 选中一个或多个复选框。当您单击“确定”时,将立即刷新对象缓存中的所有项目。

    • 如果没有选中一个或多个复选框,对象缓存将基于项目超时时间及其在网站中发生更改的时间管理项目的有效期。

  4. 单击“确定”。

See Also

任务

如何:使用自定义属性自定义内容查询 Web 部件

如何:部署服务器之间的内容

概念

自定义缓存概述

输出缓存和缓存配置文件

二进制大对象的基于磁盘的缓存