Java 将数据从数据库移动到静态文件、运行时变量
我正在使用playframework 1.2.4和mysql数据库 我在数据库中有一些表,但它们是静态的。大约有100-300条4-7键的记录。 我想把它们移出数据库 在这种情况下,存储信息的最佳位置是什么Java 将数据从数据库移动到静态文件、运行时变量,java,mysql,database,playframework,Java,Mysql,Database,Playframework,我正在使用playframework 1.2.4和mysql数据库 我在数据库中有一些表,但它们是静态的。大约有100-300条4-7键的记录。 我想把它们移出数据库 在这种情况下,存储信息的最佳位置是什么 新的播放配置文件 有解析器的某种XML 从playframework/java访问JSON/YAML文件(id不知道它是什么:) 在一个类中存储所有信息的Java文件 最好的解决方案是什么?在这种情况下,playframework宣扬的是什么?我仍然将其保存在DB中。您所称的“静态”数据
- 新的播放配置文件
- 有解析器的某种XML
- 从playframework/java访问JSON/YAML文件(id不知道它是什么:)
- 在一个类中存储所有信息的Java文件
最好的解决方案是什么?在这种情况下,playframework宣扬的是什么?我仍然将其保存在DB中。您所称的“静态”数据是一种基本数据,几乎不会发生变化,任何数据的最佳位置都是数据库
如果将其从DB移到静态文件中,您将不会真正获得任何优势。现在,您将有两个地方存放数据—数据库和静态文件,从长远来看,这将更易于维护。我将您的选项分为以下几类:
因此,维护和部署的最佳解决方案可能是XML,而性能最好的解决方案可能是基于Java的对象。谢天谢地,我们可以使用一种工具来充分利用这两个世界。允许您将POJO(Java对象)转换为XML并返回。因此,您可以用XML维护数据,然后在对数据集进行更改时,使用PojoXML将该文档转换为Java对象。然后,您将获得将静态数据保存在编译的Java代码中的性能优势,以及使用XML的可维护性。只需确保数据以静态方式存储,这样就不会在每次页面加载时消耗8kB的内存。由于您的数据量不太大,而且数据是静态的,那么最简单的方法,我认为也是最有效的方法,就是将数据作为哈希表实例传输到java项目。在应用程序启动时初始化此表,并在必要时使用它。您试图通过将数据移出数据库来解决的问题是什么?要取消使用数据库,不需要它。我只是偶尔更改一次静态数据。如果没有特定的内存限制,我会将对象加载到HashMap(或类似容器)中,然后使用Java二进制序列化将整个数据块序列化到磁盘。然后在启动时将其反序列化回内存。使用Xml的建议有一个优点,即您可以使用文本编辑器手动编辑数据,但听起来似乎您不需要这样做。感谢您的回答,但是:首先,我更担心在数据库中丢失数据,而不是重新发布版本的文件。我的意思是把数据从数据库中移开,这样就没有数据了