效率困境:是否使用AJAX?

时间:2011-11-04 00:21:36

标签: jquery css ajax performance

我有一个显示文章列表的网站,以及类别过滤器。可以打开和关闭过滤器,文章列表将自动调整。

目前,我已经这样了,当点击过滤器时,AJAX向根据所选过滤器查询数据库的脚本发出请求,然后将结果输出给用户。

这是一种效率低下的方法吗?我最近的另一个想法是在页面加载时只查询数据库中的每一篇文章。然后,过滤器将相应地切换每个帖子的显示元素,而不是发出AJAX请求。

这听起来比使用AJAX要好得多,但我希望得到关于效率和语义方法的其他意见。

4 个答案:

答案 0 :(得分:2)

这取决于你有多少篇文章。如果有数百或数千个,你可能会通过AJAX提取来节省处理。否则,客户端过滤更有意义。

答案 1 :(得分:2)

一切都取决于您的具体数字。你有多少访客?加载整个页面有多重?加载所有文章的页面加载会增加多少秒。

一般来说,如果你的文章不是那么多我建议一次加载它们,那么用户可以从更快的加载中获益,并且你的生活更容易,因为你不必编写特定的服务来逐个加载文章。

那说你的ajax解决方案并不低效,如果文章数量增加,这是最好的解决方案。

答案 2 :(得分:1)

我想这取决于您尝试缓存的行数。如果它小于1000,那么我可能会缓存它,但如果它超过你可以使用AJAX。由于数据通过http传播的限制,AJAX通常效率低下。

答案 3 :(得分:0)

您如何进行此查询?用params获取?

如果是,您可以阅读varnish来缓存它。不再担心它。

第一个请求将缓存在内存中。其他人永远不会触及DB而不是脚本文件,只是缓存的响应。

将清漆配置为在2到2分钟内到期并且具有高性能请求(即使有数百万请求此AJAX,也只会在数据库中进行一次查询)