使用Ruby爲基於文本的多人遊戲製作自定義TCP/IP服務器。需要找到一個系統來堅持我的Ruby對象,並且對一些建議感到好奇。
服務器管理的數據量不會超過1GB,因爲這是一個相當易於管理的數字,所以我很想找到一個持久性系統,它允許我將所有內容都保存在內存中,並且只在我將它寫入磁盤時這樣說(稱爲「保存事件」 - 這些已經發生了其他不相關的原因,所以我可以鉤上這些)。
理想的情況下,一些具有強烈的,ActiveRecord的,像Ruby接口將是巨大的,具有查詢/檢索等
我已經考慮有些事情。
- 使用MySQL MEMORY表(優點:非常熟悉與它合作一個ActiveRecord,缺點:並非所有的數據,很容易通過關係系統表示,我會寫我自己的系統,節省出來的表並在重新啓動時重新構建它們,除非已經存在?)
- MongoDB(優點:希望更好地瞭解它,並且我認爲我們的數據非常適合基於文檔的系統,缺點:不熟悉與它如何使用內存vs磁盤存儲數據或我將如何觸發'堅持一切'事件)
- Redis(優點:似乎有我正在尋找的內存模型,缺點:不是熟悉它的所有或任何Ruby接口,不知道我們如何能夠將我們的數據轉換爲純鍵值)
我猜測有一個優雅的解決方案;如果MongoDB以我描述的方式大量使用內存,那很可能是它。
啊,非常好。謝謝。 – tkrajcar