2012-02-10 39 views
1

我正在致力于管理现场拍卖的网站。所有出价都记录在数据库中,我需要用户可以在其他用户重新出价时立即看到。 使用SetInterval的Ajax调用

我想通过setTimeout()每500毫秒使用jquery-ajax启动一个php脚本。

我不确定这个解决方案是否便宜,因为大量的ajax调用(每分钟120次)。

有什么建议吗?

+1

不要查询数据库。设置一个连续更新数据库的RSS/JSON提要(固定的窗口大小让我们说一秒)。查询JSON对象,因为它和你的客户都会更轻。 – Blender 2012-02-10 18:07:54

+0

大多数ajax调用需要超过500毫秒的时间,因此即使将setTimout()设置为500毫秒也不会导致半秒更新,而是在收到最后一个响应之后的半秒内请求新的更新,并且处理。 – 2012-02-10 18:09:05

+0

你应该看看这种类型的解决方案http://en.wikipedia.org/wiki/Comet_(programming)而不是密集的ajax调用(对不起,由于缺少关闭,链接被打破了)“),你需要添加它手动) – darma 2012-02-10 18:15:28

回答

0

如果您有权访问您的服务器,您可以设置一个脚本来编写您的ajax调用可以获得的json文件。这样多个用户仍然只能访问单个文件。与db上的常量调用相比,静态页面的服务器密度更低。

+0

谢谢大家的建议。 – Arnaldo 2012-02-10 19:38:54

+0

@ darma,我已经听说过COMET,但我对与最老的浏览器的兼容性有点害怕。你确定它可以正常工作吗? – Arnaldo 2012-02-10 19:41:32