如何在wicket Web应用程序中缓存复杂的计算

时间:2011-08-22 16:40:40

标签: java caching wicket

我正在构建一个wicket Web应用程序。它显示了一个带有DataView的“实体”列表,并且还显示了一个工作正常的详细信息页面。只有数据库中所需的行才会加载到我的DataView中,因此性能很好。

我还可以在详细信息页面上显示计算值,该值是从“实体”动态生成的。但是当我想在列表页面上总结这个计算值时,如果表中有数百行,性能会变差。这是因为为每个会话生成整个表的值。

我是否应该缓存此计算值(如果是,我该怎么做)或者在我的数据库表中添加一个包含此值的列会更好,这会违反DRY原则吗?

1 个答案:

答案 0 :(得分:0)

正如@biziclop评论的那样,简单缓存的解决方案是向Application Class添加一个字段,该字段缓存计算出的值。这样,必须在应用程序启动时和相关数据的每次更改时进行计算。