我在数据库中有 “TABLE A”
,其中包含 3 列 “COL 1”、“COL 2”和“COL 3”
,大约 1000000
(100 万)条记录。
针对这个表,我映射了一个简单的 POJO
假设 "ClassA"
有 3 个实例变量 "var1", "var2", "var3"
并且还在那里定义了 set()
和 get()
方法。
我的应用程序包含简单的 JSP、Servlet 和 POJO,没有花哨的框架,也没有其他技术。
我真正想要的是,当我的应用程序第一次部署在应用程序服务器上并且它收到第一个请求时,仅针对该请求(仅 1 次)我的 Servlet 将获得 100 万TABLE A
中的记录,用这些记录映射 ClassA 并开始填充 ClassA
的对象并将它们保存在 Vector 或 ArrayList
中,如您可能已经了解,我的 Vector/ArrayList
现在将包含 100 万个对象,每个对象代表 "TableA"
中的一个 record/tupple
。
好的,现在进入真正困难的部分,我希望将此 Vector/ArrayList
存储/持久化/添加
到应用程序上下文或 VM 或到任何其他内存存储位置(实际上我不知道),以便每次我的 JSP pages/Servlets
访问内存中的对象以获取数据而不是每次都访问数据库。
最佳答案
您必须使用 Java 缓存系统( see here ) 或 Ehcache ( see here ) 将数据存储在缓存中,控制反转Spring 中的 strong> 在某种程度上也有帮助,但不确定它是否有助于在堆中存储 100 万个数据,因为堆内存是有限的。
关于java - 在内存中存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14313862/