如何获取外部数据库数据而不必多次访问java中的多页面应用程序

时间:2016-04-26 09:32:48

标签: java performance

我正在开发一个有多个页面的应用程序(spring + hibernate)。

我有一个要求,我必须根据外部数据库的用户选择来获取数据。 现在我想要一些可能不按顺序排列的页面中的数据

这样做的一种方法是..我可以将我从外部数据库获取的详细信息保存到我的数据库中,并通过hibernate从我的数据库中获取它。

其他方法可能是将其存储到会话变量中,但我觉得这不是一个好习惯。

有没有其他方法可以在不多次访问外部数据库的情况下获取数据?

1 个答案:

答案 0 :(得分:0)

您应该尝试回答以下几个问题。

  • 如果您准备自己的数据库,外部数据库的更改频率如何,您是否关心这些更改?

如果您不关心外部数据库中的更新或更新频繁,您可以运行定期作业,每隔几小时或每晚将外部数据库与您的数据库同步。

如果这种情况太频繁且您关心这些更新,我猜定定期同步不是一个选项。

  • 您需要缓存或从外部数据库获取的数据大小是多少?

如果数据足够小。无论何时加载某些数据,只需将其保存在本地文件系统缓存中,甚至是内存或会话中。您可以根据时间或使用LRU或LFU逐出缓存。