I have some questions on database persistence of room variables - its storage and the subsequent recovery.
I have a board game, any pair of users will be able to start an instance of the board game, thus there will be many instances of such game by different users.
A pair of users will be able to suspend their board game (i.e. both log out of ES), and then resume again say the next week if they ever do come back.
I have thought of making persistent rooms for these. But only a portion of the board games will ever be resumed.
My questions are :
- I assume that persistent rooms will take up memory, if I have hosted 2 million board games in the past ES will have 2 million zones. So is my line of thinking right that I should forget about persistent rooms, and persist the zone (and its rooms) to DB, then restoring the zone when they log in again?
- As the users log in again to resume the game, all the room variable restores from DB will generate an immense amount of "new room variables" from a client perspective. I have read from the forums that if a Flash client gets too much more than 20 socket messages a second, it will crash. So will this DB restoration of ES room variables overwhelm the flash client?
- Do you have any code samples of persisting an ESObject to DB and restoring it back to an ESObject?