如何在Python MMO游戏中最有效地存储玩家数据?

如何在Python MMO游戏中最有效地存储玩家数据?,python,storage,game-development,mmo,Python,Storage,Game Development,Mmo,我正在开发一个类似于Python2.7游戏的MMO射击游戏 游戏的玩家数据将包括游戏中每个玩家穿戴的设备、玩家姓名等,这样当他们注销角色时,他们的玩家数据将永久保存,当他们再次登录时,他们的玩家数据将加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将为1000000条 将所有玩家数据存储在一个巨大的txt文件中,或者存储在26个文件中,或者存储在26*26文件中,是否更有效?排列这些条目的最佳方式是什么 示例条目: "player1023"|13|1023|482|9|1|4|5|9|3

我正在开发一个类似于Python2.7游戏的MMO射击游戏

游戏的玩家数据将包括游戏中每个玩家穿戴的设备、玩家姓名等,这样当他们注销角色时,他们的玩家数据将永久保存,当他们再次登录时,他们的玩家数据将加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将为1000000条

将所有玩家数据存储在一个巨大的txt文件中,或者存储在26个文件中,或者存储在26*26文件中,是否更有效?排列这些条目的最佳方式是什么

示例条目:

"player1023"|13|1023|482|9|1|4|5|9|3

如果您不想使用数据库(这里最自然),我建议在文件中使用固定宽度的记录(假设所有行都由80个字符组成。这样,您可以实现非常快速的二进制搜索来查找行,并且您可以覆盖一行,而无需重写整个文件。

好建议,假设您确实可以将所有内容放入一个固定的宽度。但是…只需使用数据库。使用sqlite和SQLAlchemy或SQLObject i它的开销很低,但是如果有必要的话,可以很容易地切换到更核心的内容。我一定会检查这一点,它看起来是最好的选择。但是…插入无论如何都是一个问题。您还应该在不同的文件上实现索引,以便在巨大的数据文件上附加新行,并保留(相对而言)在单独的文件中包含索引的有序列表的短文件。完成此操作后,您将更加了解数据库的使用:-)