我有一堆工具存储在一个表中,每个工具关联的事务存储在它的子表中。我有一个算法,可以根据其在事务表条目中的性能来确定要购买的工具。我的算法输出可能会推荐购买一个工具,而不是基于它的性能。
我的最终目标只是一页一页地显示工具列表(带有服务器端分页),这些工具被算法推荐购买。我的问题是,如果我获取前10个工具及其事务,并将其作为算法的输入,我的算法可能会推荐购买所有工具,也可能不推荐购买所有工具,在这种情况下,有资格显示的工具对于当前页面来说是不够的。我必须再次回到数据库并获取更多,直到我的结果足以显示当前页面(其中包含太多的db迭代)。
我目前正在获取所有内容,并在服务器端缓存结果集合(使用Ehcache),并在我的集合上应用服务器端分页。但是,如果有太多并发用户访问此页面,则会将服务器推向内存不足。
这类问题的最佳解决方案是什么?
发布于 2012-09-13 07:51:14
我担心没有银弹解决方案,但我想在这里分享我的想法
通常,如果您希望获得准确的分页结果,理想情况下,您需要在同一事务中运行所有迭代,否则数据将不会一致,因为可以对持久性存储进行并行更新。然而,从你的帖子来看,我不确定这是否可能。
因此,请考虑以下几点:
希望这能有所帮助
https://stackoverflow.com/questions/12397320
复制相似问题