java – 在内存中存储数据
我在数据库中有“TABLE A”,其中包含3列“COL 1”,“COL 2”和“COL 3”,大约有1000000(1百万)条记录.
对于这个表,我已经映射了一个简单的POJO,让我们说“ClassA”有3个实例变量“var1”,“var2”,“var3”,并且还定义了set()和get()方法. 我的应用程序包含简单的JSP,Servlet和POJO,没有花哨的框架,也没有其他技术. 我真正想要的是,当我的应用程序第一次部署在Application Server上并且它收到的第一个请求时,只有那个请求(只有一次)我的Servlet将从TABLE获得1百万条记录A,用这些记录映射ClassA并开始为ClassA填充对象并将它们保存在Vector或ArrayList中,因为您可能已经知道我的Vector / ArrayList现在将包含1百万个对象,每个对象代表一个记录/ tupple in “TableA”. 好的,现在来到真实和困难的部分,我希望将Vector / ArrayList存储/保存/添加到应用程序上下文或VM或任何其他内存存储位置(实际上我不知道),以便每次我的JSP页面/ Servlet访问内存中的对象时,每次都要获取数据而不是访问数据库. 解决方法
您必须使用
Java缓存系统(
see here)或Ehcache(
see here)将数据存储在缓存中,Spring中的Inversion of Control在某种程度上也有帮助,但不确定它是否有助于在堆中存储100万个数据,因为堆内存是有限.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |