【问题标题】:Ajax - best practice/approach for loading tertiary dataAjax - 加载三级数据的最佳实践/方法
【发布时间】:2011-08-28 01:03:40
【问题描述】:

我在确定一种在我正在构建的应用程序中加载额外数据的方法时遇到了一些困难。该应用程序是一个 CMS,其中一个页面由许多片段组成——一些可重复使用,另一些是专有的。

独占片段的示例可能是描述/作者元标记,而可重用片段可能是链接列表。

我目前的方法是加载构成页面主体的基本数据,例如主体内容、标题、slug、日期(发布/到期/修改)。在加载该部分并准备好 ui 后,我加载了 2 个附加数据集:元标记集合;片段的集合。

我的意见是: 1. 可扩展性 2.速度 3. 可维护性

我的方法是否合理,还是应该考虑另一种方法?

【问题讨论】:

    标签: php ajax content-management-system scalable


    【解决方案1】:

    我假设您使用 AJAX 进行上述延迟加载。

    你的方法合理吗? 您的问题的答案取决于整个页面的加载速度(包括片段)。当我们想要创建页面加载的感知时使用您的技术,以便用户在心理上不想等待,

    当整个页面被认为太长而无法加载时,就会使用该技术。由于“加载时间过长”的衡量标准是主观的,我们以 8 秒为例。如果整个页面需要 8 秒加载,而部分页面(如主体等)需要 3 秒,那么首先加载这些部分是明智的,这样用户在心理上就不想等待 8 秒。

    至于你的 3 个标准:

    • 可扩展性:延迟加载会增加返回服务器的 http 调用次数,从而在对服务器的总调用次数以及占用并发连接数的可能性方面引入额外的负载。因此,延迟加载会给服务器带来额外的开销。但是,如果您的部署环境是一个正确的集群,它应该不会给您带来任何重大问题。

    • 速度: 这又回到了我之前所说的。如果您的整个页面加载速度非常快,那么延迟加载片段实际上可能会减慢速度(以总秒数计),因为您正在对服务器进行额外的 HTTP 调用。在这种情况下,您也无法帮助用户感知。但是,如果加载整个页面的速度很长,那么该技术是有意义的,因为它可以提高用户对速度的感知,即使速度加载的总时间可能更长。

    • 可维护性:一个好的实现可以通过几个简单的代码在加载整个页面和分段加载之间进行选择。这意味着您已经编写了可维护且灵活的代码。

    【讨论】:

    • 哇,感谢您的出色响应——我确实在使用 AJAX 进行延迟加载。因为它代表我正在加载的特定屏幕在 1.3 秒内呈现,包括附加数据(Ajax 请求)。我将使用它作为中期开发基准,直到我可以看到它在共享主机/生产服务器上的执行情况。感谢您的洞察力!
    猜你喜欢
    • 2018-12-06
    • 2011-09-21
    • 2010-09-20
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 2011-04-17
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多