富Internet应用程序中的客户端缓存

时间:2009-01-29 14:03:35

标签: ajax gwt caching rich-internet-application

我开始步入不熟悉的领域,关于性能改进和我们使用GWT构建的RIA(富互联网应用程序)。对于那些不熟悉GWT的人来说,基本上在部署时它只是纯粹的JavaScript。我们通过XMLHttpRequest使用REST风格的XML Web服务与服务器端连接。

我们的XML被解组为JavaScript对象,并在应用程序中用于表示接口背后的数据模型。发生更改时,模型将更新并编组回XML并发送回服务器。

我已经了解到,首要的性能规则(就用户体验而言)是尽可能少地提出请求。显然这会带来缓存的可能性。缓存非常适合静态数据,但在服务器上的数据可能正在发生变化的多用户系统中,事情变得棘手。此外,使用“Last-Modified”和“If-Modified-Since”请求还不够,因为我们希望完全避免不必要的请求。

我正在尝试在研究方法之前弄清楚浏览器中的缓存数据是否适合我们。我希望以前有人踏上这条道路。我正在寻找类似的方法,经验教训,要避免的事情等等。

如果需要,我很乐意提供更具体的信息......

1 个答案:

答案 0 :(得分:0)

对于GWT,如果性能对您很重要,则可以通过在单个请求中发送所需的所有数据来获得更好的性能,而不是查询多个小数据。我建议不要使用客户端数据缓存,因为存在许多问题,比如保持数据与数据库同步。

此外,与传统的html应用相比,你已经拥有GWT的优势。除非你正在处理特殊数据(例如:不会太快陈旧 - 意味着主要是读取查询),我发现没有特别需要缓存。你最好做一个服务层缓存,因为大部分时间都应该来自服务器端处理。

如果您可以提供有关应用程序性质的更多详细信息,可能会得出一些不同的结论。