---
title: "结果缓存可加快应用程序的响应速度"
date: "2013-11-25"
categories: 
  - "data-integration"
tags: 
  - "flowforce-server"
  - "html"
  - "stylevision-server"
description: 了解如何通过结果缓存来提升 FlowForce Server 的应用程序响应速度。学习如何配置任务，以实现高效的数据检索，从而提高用户满意度。
---
Status: #blog

Tags:  #flowforce-server #html #stylevision-server

Categories: [data-integration](/blog/zh/category/data-integration.md)
# 结果缓存可加快应用程序的响应速度

对用户输入的快速响应是任何Web应用程序成功的关键。 [FlowForce Server](https://www.altova.com/zh/flowforce.html) 管理员可以利用结果缓存功能，该功能是2014版本中引入的新特性，从而为在浏览器窗口中运行FlowForce Server任务的用户提供近乎实时的结果，这些结果以HTTP服务的方式提供。

![一个以 HTTP 服务方式运行的 FlowForce 服务器任务](https://lh6.ggpht.com/-d_ndlkDZEzY/Uo4vjVz6x1I/AAAAAAAABus/Bqd00PWwRyE/clip_image001%25255B3%25255D.png?imgmax=800 "FlowForce Server job running as an HTTP service")

配置 FlowForce Server 任务以利用结果缓存是一个简单的两步过程。例如，让我们来看一下我们最近创建的这个任务 [FlowForce 服务器任务作为 HTTP 服务](https://www.altova.com/blog/2013/10/flowforce-server-jobs-as-http-services.html). 我们定义了一个 [StyleVision Server](https://www.altova.com/zh/stylevision/stylevision-server.html) 将其作为 FlowForce Server 任务的最后一步，并将该任务以 HTTP 服务形式提供，从而将 HTML 结果传递到 Web 浏览器窗口。<!--more-->

这种方法的缺点在于，用户的请求仅仅触发任务的启动。在向浏览器返回用于显示的HTML文档之前，每个执行步骤都必须成功完成。如果任务包含大量的数据库查询、数据转换、[XBRL验证](https://www.altova.com/zh/raptorxml.html)或其他复杂操作，或者服务器负载过高，最终用户将体验到无法接受的延迟。

为了利用结果缓存，我们将重新定义该任务，使其能够保存结果；同时，我们将设置定时触发器，使其按照固定时间间隔运行；此外，我们还将根据需要，将最新的结果提供给任何用户。

以下展示了一个带有缓存功能的任务定义页面：

![带有结果缓存的 FlowForce 服务器任务的定义](https://lh5.ggpht.com/-35HrAVd2O9A/Uo4vk8aDYZI/AAAAAAAABu0/iQyh6jH-YiA/clip_image002%25255B3%25255D.png?imgmax=800 "Definition of a FlowForce Server job with result caching")

转换后的HTML结果被赋值给名为“currentOnline”的变量，一个新的执行步骤使用`/system/compute`函数，并使用一个表达式来准备用于缓存的数据。执行结果部分定义了缓存的内容以及访问缓存数据的URL。

为了创建缓存，我们至少需要运行一次该任务。因此，第二步是定义定时触发器

![用于定期运行 FlowForce Server 任务的触发器](https://lh3.ggpht.com/-IjRT99KfTgk/Uo4vmlbiibI/AAAAAAAABu8/ITnM1xt8dmc/clip_image003%25255B3%25255D.png?imgmax=800 "Triggers to run a FlowForce Server job on a regular schedule")

这里展示的触发器将在工作日（周一至周五）的营业时间内，每60分钟执行一次任务。

对于运行在 vmarketing001 上的 FlowForce 服务器，其 HTTP 服务端口设置为 4646，因此其 URL 为 http://vmarketing001:4646/service/currentGrouponOnline，如以下图片所示：

![FlowForce 服务器缓存的结果将立即显示](https://lh6.ggpht.com/-sOAgLKGB_Rk/Uo4vngBRddI/AAAAAAAABvE/M76Ql0LOk3Y/clip_image004%25255B3%25255D.png?imgmax=800 "FlowForce Server cached results snap into view")

整个缓存结果会立即显示在浏览器窗口中，无需任何处理延迟，这种即时响应能让最终用户感到满意，脸上露出笑容。

结果缓存是一种优化应用程序响应时间的好方法，适用于任何需要从外部数据源查询数据的任务，但这些任务对实时性要求不高，不需要获取最新数据的情况。例如，可以利用结果缓存来生成前一天的各区域和产品线的销售明细报告。

**FlowForce Server 适用于 Windows、Linux 和 Mac OS 平台。 亲自体验一下，看看它如何轻松满足企业自动化工作流程的需求** [**点击此处下载免费试用版**](https://www.altova.com/zh/download-trial-server.html)**！**
