【问题标题】:Better way to design a web application with data persistance设计具有数据持久性的 Web 应用程序的更好方法
【发布时间】:2013-11-28 18:06:54
【问题描述】:

对于我的 Web 应用程序,我一直在想,哪种方式最适合设计具有数据持久性的适当 Web 应用程序。现在我每次都设计一个 HTML 页面,所有内容和数据上传都通过基于 RESTful 模型的 jQuery AJAX 请求管理到负责数据库的远程服务器。但最终有时会进行大量的 AJAX 调用,并且获取大量数据有时需要几秒钟,这对用户不友好。

是否有类似指南或标准开发方式来设计网络应用程序?

我已经查看了 WebWorkers 和 WebSockets Javascript API,但还没有使用过它们。有人已经尝试了吗?这是否允许比 AJAX 交换更好的性能?

您的 Web App 开发方式是什么?

【问题讨论】:

  • SO 有点离题
  • 这个问题对于stackoverflow来说太宽泛了。但是,是的。 websockets 可以为您提供非常低的延迟。我用过很多次。例如,请参阅我的网站 www.rogueshell.com。也许还可以看到:lucumr.pocoo.org/2013/11/17/my-favorite-database

标签: javascript jquery ajax web-applications websocket


【解决方案1】:

这里真的不适合问这样的问题,但我会给你一些简短的建议。

  1. AJAX 请求不应该花费很长时间,如果它们一直很慢,那么问题很可能是您的服务器端代码和那里的效率低下。如果您的服务器很慢,那么 Websocket 不会比 AJAX 给您带来任何好处。
  2. 一种常见的设计是加载页面运行所需的最小数据集,对任何其他所需数据进行 AJAX 处理,以使页面尽快响应。
  3. 缓存和预取是加快站点速度的好方法,例如:如果您一遍又一遍地运行 mysql 查询,则运行一次并将结果放入缓存服务(如 memcached 或 mongodb)中,有效期为一个小时(或其他时间)并提供缓存的响应,这将加快您的服务器响应时间。预取是预测您的用户接下来要做什么,并在后台加载该数据,无需任何用户交互。
  4. 如果您的用户重复加载相同的数据,请考虑使用 localStorage 或 IndexedDB

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 2012-07-09
    相关资源
    最近更新 更多