2013-07-14 76 views
1

我是製作遊戲的新手,我正在使用php和javascript編寫一個有趣的遊戲。我使用MySQL來存儲遊戲用戶的所有信息。這場比賽有點像管理一個運動隊。你有一些變數(現金,資產,球員,職員等等),你承擔了體育經理的所有角色。我知道它存在,這只是個人的挑戰。PHP遊戲設計 - 獲取數據庫信息

我的問題是,從數據庫中獲取信息到遊戲中的最佳和最有效的方式是什麼? 1.我必須在每個頁面上運行一個sql查詢嗎? 2.我必須更新我的數據庫每次更新什麼東西? 3.用戶登錄時是否可以從數據庫獲取所有信息,讓他/她玩,然後僅在會話被殺時用新信息更新數據庫?

對不起,由於缺乏代碼,只是尋找一個出發點,因爲在我開始寫很多遊戲之前知道這一點會有幫助。

感謝

+3

這不是你現在應該關注的。首先得到一些有用的東西,然後優化(如果有必要) – zerkms

+0

,聽起來更合乎邏輯,謝謝 –

+0

是的,最好是讓事情有效 - 特別是如果它是一個練習。但作爲參考,我喜歡濫用Memcache中的垃圾,這讓我的遊戲運行速度更快。 –

回答

1
  1. 不,你不一定需要運行在每一頁上加載一個MySQL查詢。您可以將這些查詢的結果存儲在緩存系統中,例如memcached,或將必要的數據保存在$_SESSION中。
  2. 不,您可以像以前一樣使用類似的解決方法,但是如果用戶斷開連接,最終可能會導致未保存的更改。
  3. 嗯,你可能加載與用戶相關的數據,並編寫自己的會話處理程序來保存會話銷燬時的數據,但雖然我從未嘗試過,但我會說有非常真實的風險例如,如果您的服務器重新啓動或者由於某種原因未調用PHP的垃圾回收器回調,則會丟失數據。

總的來說,我認爲你可能認爲SQL查詢比實際情況要重得多。如果您的數據庫結構和索引設置正確,則查詢和更新每個完成時間不應超過約0.01秒。