1

场景:我有(美国)存储在数据库中的州列表。我需要在 form.jsp 中显示状态列表。我查询数据库并在 referenceData 方法中获取状态列表,以便在加载表单时可以使用状态列表。

问题:既然每次页面刷新都会执行referenceData,那么每次刷新查询数据库是不是很拖沓?Spring 是在内部缓存这个还是每次都是昂贵的数据库查询调用?

在 Spring 中填充表单加载时下拉状态的最佳方法是什么?

4

1 回答 1

1

如果没有明确询问,Spring 不会缓存任何内容。另一方面,您可以配置您的持久性提供程序(例如Hibernate 查询缓存)或使用内置的 Spring缓存抽象

在每次页面刷新时查询数据库是否过大?在您的情况下:很少更改并且项目很少的固定列表-我什至会说加载一次并在应用程序的整个生命周期内保留它。做一个后门,以防需要修改。或者使用有效期很长的缓存。

另一方面,缓存通常很痛苦,尤其是在缓存验证发挥作用时。但在你的情况下,有什么问题呢?著名遗言

于 2012-07-19T20:22:28.480 回答