2012-02-10 87 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