Skip to main content

启用响应缓存

响应缓存是一种后端服务器缓存机制,可以提升要素图层的性能和可扩展性。 支持响应缓存的客户端可以请求标准缩放级别的标准化数据范围。 由于这些标准化请求在请求相同数据的不同客户端之间相同,因此多个客户端可以缓存并重用这些要素。

借助响应缓存,客户端能够更快地接收响应,而无需数据库查询的开销。 由此使得响应缓存对于需要扩展处理大量相似请求的图层尤为有用。 响应缓存最适合极少发生变化的数据。

以下任一用户均可为图层配置响应缓存:

  • 图层项的所有者

  • 该图层项所共享到的共享更新组的成员

  • 拥有一组用于管理成员所拥有内容管理权限的成员

使用响应缓存的先决条件

ArcGIS Enterprise 中的图层默认不启用响应缓存,且响应缓存并非适用于所有情况。 要使用本主题中的工作流为图层启用响应缓存,必须满足以下前提条件:

  • 该图层项必须是支持响应缓存的以下类型之一:

    • 要素图层

    • 托管要素图层

    • 地图图像图层

    • 托管要素图层视图

  • 该图层不能引用版本化数据。

  • 该图层必须允许响应缓存

  • 该图层必须使用要素数据。 栅格数据无法用于响应缓存。

  • 如果图层引用了已注册数据,则数据集必须追踪最后编辑时间。 如有必要,请在图层的数据集上运行启用最后编辑时间工具。

  • 必须为托管服务器配置对象存储

  • 必须由支持响应缓存的客户端发起对该图层的请求。 这些客户端主要包括 ArcGIS Pro、使用 ArcGIS Maps SDK for JavaScript 创建的 Web 应用程序(如 Map Viewer),以及使用 ArcGIS Maps SDK 构建的原生应用程序。

为图层配置响应缓存

完成以下步骤以允许响应缓存:

  1. 以具有更新该图层项权限的成员身份登录您的组织。

  2. 打开您想要更新的图层项的项页面,然后单击设置选项卡。

  3. 响应缓存下,单击管理图层

  4. 根据您的需求,使用切换按钮来允许或禁止每个图层的响应缓存。

    不符合要求的图层将禁用其切换按钮,并显示一条警告,说明该图层无法使用响应缓存的原因。

  5. 单击确定

  6. 设置选项卡上,单击保存以重新启动服务并应用响应缓存设置。

注:

对于发布到非托管服务器的联合服务器站点的服务中的图层,必须使用 REST API 来启用响应缓存。

缓存失效

​​缓存响应仅在有效期内可用。​​ 默认情况下,缓存响应在 1 天后过期。 管理员可以使用 REST API 指定不同的过期时间。 有关为托管要素图层和托管要素图层视图配置过期时间的信息,请参阅ArcGIS Enterprise 中托管要素服务图层的响应缓存。 有关为引用已注册数据的要素和地图服务图层配置过期时间的信息,请参阅编辑 - 服务

如果对象存储使用云服务来存储数据,过期的缓存响应将被自动删除。 如果对象存储是使用 ArcGIS Data Store 配置的,请定期对该对象存储运行 maintaindatastore 实用程序,从而移除已过期的缓存响应。

当对图层的数据进行编辑时,缓存响应也将失效,以防止客户端收到包含过时数据的响应。 因编辑而失效的缓存响应将在下一次执行查询时,被新的缓存响应所替换。

注:

对于引用已注册数据的图层,正确的缓存失效依赖于地理数据库设置 lastEditTime。 在 ArcGIS 软件之外执行的编辑操作(例如直接对数据库执行的 SQL 语句)不会更新 lastEditTime。 这些编辑操作可能导致缓存失效无法如预期般工作。