我正在開發基於回合的遊戲,其中包含大量信息在Node之間存儲的NodeJS和Socket.io。NodeJS在使用網絡套接字時存儲數據時可能獲得最佳性能
我想知道什麼是最好的方法來處理可以說,成千上萬的用戶。
目前我使用全局變量來存儲與比賽以「決鬥」的全局變量的鍵是動態創建的房間的一切:
duels[room].character_1 = character_1;
duels[room].character_opponent_1 = character_opponent_1;
duels[room].player_1_moves = {//really big object};
duels[room].player_2_moves = {//really big object};
我不知道這是否是一個處理數千用戶的最佳方式。至少記憶明智。
我見過的其他2個選項:
1:使用會話變量來存儲數據,但是這在我看來,會佔用大量的服務器(RAM)的內存,什麼更好的全局變量或會話?或者他們都很糟糕?
第二:我使用MongoDB的,它是一個可行的選擇,以插入和我的數據庫不斷獲取信息,並將它存儲在那裏?我有一種感覺,如果我發送太多的查詢到我的數據庫它會崩潰。
基本上,在這一點上,我不知道在哪裏存儲所有這些信息,而不會冒我的服務器性能。我願意接受任何方法。
標題似乎有點曖昧,但想不到在內存中一個更好的 –
離開你的數據將可能給你最好的表現。如果在內存中保存的數據過多或者需要保留數據,則可能需要數據庫。 – SimpleJ