我必须处理一个 xml 文件,为此我需要使用单个表中的主键来获取大约 4k 个对象。我正在使用EhCache。我有几个疑问如下:
1) 如果我根据 Id 逐行查询并将其保存在 Cache 中,会花费很多时间。我可以在初始时间点查询并将整个表保存在 EHCache 中,并可以在稍后的处理中使用主键查询
2) 我不想使用查询缓存。因为我无法一次加载 4k 对象并循环它以查找正确的对象。
我正在寻找最佳解决方案,因为现在我的过程需要大约 2 小时(它也涉及其他处理)
感谢您的热心帮助。
最佳答案
您可以读取整个表并将其存储在 Map<primary-key, table-row>
中以减少数据库连接的开销。
我猜是TreeMap
可能是最好的选择,它使搜索元素更快。
Ehcache
非常适合处理并发,但如果您使用单个进程读取 xml,您甚至不需要它(只需将 Map
存储在内存中)。
关于java - 从数据库加载多个(很多)对象,将其保存在ehcache中并使用主键查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42918257/