[請益] 有關網頁遊戲 資料存取的概念問題

看板PHP作者 (s861175)時間15年前 (2010/06/29 17:30), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
小弟用PHP+AJAX(資料庫用MYSQL)自製了一個網頁遊戲(有點類似勇者鬥惡龍+天堂) 以戰鬥為例子,就需要讀取資料庫很多的資料表,例如: 角色(user)、角色物品(useritem)、物品(item)、怪物(monster)、怪物掉寶(drop)...等 然後把取出來的數據丟到進行戰鬥程式碼中進行處理, 戰鬥結束後,再把產生的數據(經驗值、寶物、角色損失的血...等)寫到資料庫, 在打小怪時,上面的事情可能會在一次滑鼠點擊後全部完成,然後立刻開始下一場戰鬥, 在測試時,發現資料庫的資料會出現錯亂,檢視語法應該是沒寫錯, 所以想請問MYSQL是不是不適合短時間內不斷得開啟關閉,謝謝。 PS. 爬DB版有版友提到,一般的遊戲會把數據先放到記憶體中,這會比直接存取資料庫快速。 是這個原因嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.31.4

06/29 17:38, , 1F
你有用transaction嘛
06/29 17:38, 1F
沒有用 是這個原因啊 謝謝 我來測試看看 ※ 編輯: s861175 來自: 114.36.218.156 (06/29 19:02)

06/30 01:47, , 2F
應該不會..我自己是用 mysql 很久
06/30 01:47, 2F

06/30 01:48, , 3F
放 mem 建議可以看看 memcache
06/30 01:48, 3F

06/30 10:36, , 4F
重點是結果,結果才要存回資料庫,其他可以先放memcached..
06/30 10:36, 4F

06/30 10:37, , 5F
把db result 序列化後丟去 memcached...
06/30 10:37, 5F

06/30 10:37, , 6F
更新資料庫的時候記的同步去更新,或是直接刪掉讓 query 去
06/30 10:37, 6F

06/30 10:38, , 7F
更新該 cache 的資料...
06/30 10:38, 7F
文章代碼(AID): #1CARqVQG (PHP)
文章代碼(AID): #1CARqVQG (PHP)