java - 将所有数据存储在内存中时的选项不缩放

标签 java sql database nosql

我编写了一个 Java 应用程序,用户可以将其安装在桌面上。它抓取网站,将每个页面的数据存储在 LinkedList 中。该应用程序允许用户查看在 JTable 中抓取的所有页面。

这对小型站点非常有用,但扩展性不是很好。当前,用户必须为更大的爬网分配更多内存(在启动 Java 时转换为 -Xmx)。

我目前的想法是将所有数据存储在数据库中,可能使用 HSQLDB 之类的东西。

我应该考虑其他方法吗?

最佳答案

关系数据库不是存放网页数据的好地方。你能把页面保存在磁盘上吗?我想对爬网结果进行搜索。试试 apache lucene 搜索引擎。在内存中一次加载所有结果是不合理的。您可以对 JTable 模型进行分页,并在分页时使用软引用来缓存一些结果。

关于java - 将所有数据存储在内存中时的选项不缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9341099/

相关文章:

java - 当我创建公共(public)类时,我遇到编译时错误,为什么?

java - 2 一个 Tomcat 中的不同 InitialContextFacory 实现

php - 数据库日期 = 今天的日期

java - 插入之前检查数据库中是否有重复项

sql - 当我不想使用聚合时,是否应该使用 Pivot 将 SQL Server 2008 行值转换为列名?

sql - PostgreSQL 对同一个表的多个列进行计数

c# - EF 生成的 SQL 出现无效列名错误

sql-server - 如何断开sql server中除sa之外的所有用户?

java - 分布式 Java 桌面应用程序 mySQL 数据库

Java Swing JTable 以编程方式选择多行