我對ajax,php和mysql非常陌生。我認爲我正在做一些非常不可擴展的事情,並且希望在正確的方向上有所作爲。使用Ajax和mysql的計時器
現在我在我的網站上有一個計時器,它使用ajax獲取包含時間的頁面。有時間的頁面在請求時查詢我的mysql數據庫中的「目標」時間,並比較「目標時間」和當前時間(使用time())之間的差異。 Ajax設置爲1000毫秒的時間間隔。有時會跳過用戶的秒鐘。
所以現在,對於每個用戶,我的MySQL服務器每隔一秒就會被查詢。有沒有一種方法,只有被Ajax retreived的頁面每秒查詢mysql服務器,然後值被保存,用戶只需查詢該頁面上的值...我希望這是有道理的。
我想做什麼:每隔一秒鐘查詢我的MySQL服務器以獲取時間,並根據請求向用戶提供此頁面。 = 1(mysql查詢)x 1000(由ajax檢索的頁面)工作(給出1000個用戶)
我現在擁有:ajax每秒查詢我的mysql服務器的頁面。 = 1000(mysql查詢)x1000(由ajax檢索的頁面)工作(給定1000個用戶)。
此外,什麼是適當的時間間隔來設置它? 500毫秒?
據我所知,你希望PHP腳本在後臺不斷運行,並使用AJAX獲取輸出而不是觸發它。整個過程在您的服務器上聽起來非常艱難。你可以一次獲得「目標時間」,而循環setTimeout每1000毫秒減少一秒?您可以定期通過AJAX登錄以重置並補償任何不一致情況。 – tkm256 2011-02-23 04:05:40
@ tkm256,我真的需要他們檢查每一秒,以便每個人都同步。聊天室中的所有參與者都將看到一整天不同的倒數計時器 – 2011-02-23 04:10:58