2012-01-13 54 views
1

我正在为Web应用程序使用JSF,Servlets和Beans的组合。事情是我为数据创建了一些数据,并且此数据使用JFree图表以图表方式填充到用户页面上。但问题是,我不想每次都敲击数据库,一个查询就足以获取所有数据。所以我想要一个逻辑只打一次数据库,然后将数据收集到一个bean中,然后按照到用户request.Can这可以在我的同一个应用程序中完成,我应该使用Java脚本来做到这一点。我有逻辑来填充数据,但我没有任何想法在哪里把数据访问对象方法,以便它执行只有一次。Web应用程序数据库负载减少

+1

你的数据访问方法可能只是从数据库加载数据并返回缓存数据。您可以在会话启动时点击数据库并将其保留在会话范围内。为此,您可以使用会话范围的托管bean。这样它会持续到会议。 – 2012-01-13 06:17:19

+0

+1这个想法,我设法做到了。 – Madusudanan 2012-01-13 09:20:15

+0

取决于您如何处理持久性。普通的JDBC? JPA? Ol'Hibernate?等等。需要在这个角落寻找解决方案。例如,JPA提供了第二级缓存支持。 – BalusC 2012-01-13 13:47:07

回答

1

您可以使用Spring cache-abstraction,并且使用了Ehcache

+0

它很好,但我不想为它增加更多的复杂性。是否有任何轻量级的方式来在JSF本身做到这一点。 – Madusudanan 2012-01-13 09:19:48

+0

在调用方法检查之前,在创建的数据结构中手动缓存方法的结果。换句话说,手工创建缓存机制,但我会说更好地重用 – 2012-01-13 09:21:14