我們正在開發基於瀏覽器的社交遊戲,並且它是一款MMORPG遊戲。我們使用html/javascript/css作爲前端技術(與閃存相比)。當用戶第一次加載我們的遊戲時,會下載一堆文件(外部js/css),並會請求幾個ajax調用。除非用戶手動刷新頁面,否則整個頁面將不會再次加載。我們創建一個js對象來存儲用戶特定的數據,如現金,水平等。它在用戶即將到來的操作過程中可能會發生變化。所以我們需要同步來自後端的數據。一個特殊的問題是用戶的數據也可以被動地更新(由其他用戶),這可能發生在其他用戶的戰鬥中。所以我的問題是如何以及何時同步?直到現在我們經歷了兩個階段,1)每當用戶點擊標籤(在html中顯示/隱藏div)或可能的操作(如打架/買東西),然後我們調用ajax請求獲取新數據從數據庫每次。 2)與1)類似,但我們只是添加一個代理來指示用戶的數據是否更改,以減少無用的數據庫查詢。 ajax調用將首先進入代理。在前端和後端之間同步數據
1)我們可能有70%+無用的Ajax調用和的數據庫查詢
2)我們可能有70%+無用AJAX調用
現在我們用2)的方法。但我不認爲這是最好的解決方案,因爲我們仍然有70%+無用的ajax調用。所以有沒有比這個用例更好的解決方案?
解釋
無用AJAX調用:自2個AJAX調用之間的間隔中,用戶數據可以不改變的。