Java 在存储器中存储数据
我在数据库中有Java 在存储器中存储数据,java,jsp,servlets,pojo,Java,Jsp,Servlets,Pojo,我在数据库中有“表A”,它包含3列“COL 1”、“COL 2”和“COL 3”,大约有1000000(100万)条记录 在这个表中,我映射了一个简单的POJO让我们说“ClassA”和3个实例变量“var1”、“var2”、“var3”,并在那里定义了set()和get()方法 我的应用程序包含简单的JSP、servlet和POJO,没有花哨的框架和其他技术 我真正想要的是,当我的应用程序第一次部署到应用程序服务器上时,以及它收到的第一个请求时,仅对于该请求(仅1次),我的Servlet将从表
“表A”
,它包含3列“COL 1”、“COL 2”和“COL 3”
,大约有1000000(100万)条记录
在这个表中,我映射了一个简单的POJO
让我们说“ClassA”
和3个实例变量“var1”、“var2”、“var3”
,并在那里定义了set()
和get()
方法
我的应用程序包含简单的JSP、servlet和POJO,没有花哨的框架和其他技术
我真正想要的是,当我的应用程序第一次部署到应用程序服务器上时,以及它收到的第一个请求时,仅对于该请求(仅1次),我的Servlet将从表A
中获取100万条记录,用这些记录映射ClassA,并开始填充ClassA
的对象,并将它们保存在向量或ArrayList
中,正如您可能已经了解的那样,myVector/ArrayList
现在将包含100万个对象,每个对象表示表a
中的记录/元组
好的,现在进入真正困难的部分,我希望这个Vector/ArrayList
被存储/持久化/添加到应用程序上下文或VM或任何其他内存存储位置(实际上我不知道),因此,每次我的JSP页面/servlet
访问内存中的对象时,都是为了获取数据,而不是每次都访问数据库 您必须使用Java缓存系统()或Ehcache()在缓存中存储数据,Spring中的控制反转在某种程度上也有帮助,但不确定它是否有助于在堆中存储100万数据,因为堆内存有限。看起来您需要缓存,如果我没弄错的话。
我建议您在或在这里看一看
希望这有帮助我想您正在寻找缓存对象的方法
你可能想看看
或者
由于您拥有大型对象,您可以研究如何实现对象存储库,例如,为什么不使用内存中的数据库,如hsqldb,它将充当缓存,您可以使用您最喜欢的SQL语句—在应用程序初始化时填充它。另一种选择是使用缓存解决方案,如JBoss infinispan。