【发布时间】:2013-09-06 14:20:25
【问题描述】:
我的应用程序中有很多下拉菜单。这些下拉菜单的内容是从数据库中读取的。
目前,为了避免每次我想使用这些值时都将它们拉回,我会在第一次需要它们时将它们拉回一次,然后将它们存储在会话中。
这不好。我确实想将它们存储在会话中,因为它们有很多,而且我认为这有点笨拙。我想在理想情况下(假设您不同意)将这些“常量”(它们不是传统常量,但在部署期间不会改变)存储在应用程序范围内,因此它们只需要每次部署从数据库中拉回一次。
我想知道的是,在启动时将这些下拉值存储在应用程序上下文中的方法是什么?
【问题讨论】:
-
如果你使用 spring 你可以使用缓存抽象:static.springsource.org/spring/docs/3.2.x/…
-
缓存是最好的方法,特别是如果它们在应用程序中是固定的,每个用户都会建议将范围保持为应用程序级别。从使用 HashMap 到 Coherence Cache,有多种缓存方式,具体取决于您的数据量。
-
谢谢大家。我将使用 ServletContextListener。 @SotiriosDelimanolis 如果您将其作为更详细的答案发布,我会接受并投票。
标签: servlets constants servlet-listeners