Ajax自动更新和服务器负载

时间:2011-12-25 04:19:00

标签: php javascript mysql ajax jquery

我有一个项目,需要一种始终在屏幕顶部提供的购物车。每当有人将鼠标悬停在“购物车”图标上时,就会显示内部所有内容的列表 但是,如果用户打开了我的网站的两个标签,并且其中一个标签已添加到购物车中,则另一个标签将过时并需要刷新。

我的问题是:如果我使用AJAX不断更新项目列表(这将需要会话和数据库检查),它是否会在服务器(甚至是浏览器)上足够大,因为它是一个问题,还是这种常见做法?如果这是一个问题,我可以采取哪些其他方式,以便用户打开的每个标签始终更新?

如果有人能告诉我这条道路,那么我可以更多地了解它,即使是我应该注意的名字,我也会非常感激。感谢。

4 个答案:

答案 0 :(得分:5)

浏览器没有负载,服务器中只有一个请求......也许这些请求没用,

另一种方式是名称server push

如果您的请求数量超过您的服务器功率使用这种方式,但如果您的请求很少而且不重要,则可以经常使用服务器提取

答案 1 :(得分:2)

Ajax就是这里的解决方案 - 它的占用空间非常小..只要你不加区分地使用它,它与重新加载页面几乎相同(如果正确完成它作为一个较小的文档服务则更少) )。实际上,研究表明,ajax可以将服务器带宽使用率降低60%以上。

您可以专门阅读速度问题here

我在Tizag学习了Ajax,他们有一个辉煌的Tutorial

希望这有助于:)

答案 2 :(得分:1)

您可以在一个时间间隔内进行ajax调用,以使用最新数据加载div。像这样的东西

(function getLatestCart(){  
   setTimeout(function(){   
      $("#latestCart").load("getCartDetails.php", getLatestCart);     
  }, 10000);  
})();  

这将每隔10秒调用一次该方法(您可以更改时间间隔)并将最新购物车加载到ID为latestCart的div。

答案 3 :(得分:0)

您可以在本地跟踪此更改。

将UserData(IE7及更低版本)或domStorage与更新数据一起使用,如果数据已更改,则每10-20秒检查一次。