我正在制作一个将地图数据存储为瓷砖的游戏。这些磁贴不会在发布时更改多次,因为生成它们的数据是版本化的,因此它们与服务器代码一样静态。
由于它们是静态的,我考虑在ram内存中使用SQLite数据库来存储它们。然而,随着游戏中瓦片的数量(可以获得高达10,000x10,000的地图),如果它被保存在内存中,它可能很容易就会占用千兆字节的内存(估计为15gb,10,000x10,000)图)。
我还考虑过创建一个sqlite数据库,并将其与其他代码一起进行版本控制。但我担心并发阅读。
但是,我觉得使用postgres数据库是不合适的,因为数据不会改变。
处理这样的数据问题的可接受方式是什么?
答案 0 :(得分:0)
听起来您可能希望将其存储在类似S3的内容中(基本上,使用文件,但是已卸载到服务中,因此您的应用可以水平扩展)。
您可以直接管理S3,也可以通过https://elements.heroku.com/addons/filepicker
等插件管理答案 1 :(得分:-1)
我最终选择Redis作为此问题的一般解决方案,特别是Heroku中的Redis Cloud应用程序,因为它允许在免费套餐中使用。