java - 在内存中存储数据

标签 java jsp servlets pojo

我在数据库中有 “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/

相关文章:

java - 如何在 Servlet 中使用 "application"对象?

java - 如何使用jsp和servlet将多个图像上传到文件夹中

java - JSP错误 "Illegal start of type"

java - 无法从另一个包中调用类。包不存在错误

java - Opus 音频文件到 Wav 转换

java - 在事件处理程序期间如何迭代 ArrayList?

java - 如何在jsp中传递逗号分隔的列表?

java - 拖放 richfaces 问题

javascript - 如何仅使用 JSP 和 javascript 显示浏览文件夹窗口(不浏览文件)?

javascript - jQuery 将数据发布到 servlet