Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring-参考数据最佳实践_Spring - Fatal编程技术网

Spring-参考数据最佳实践

Spring-参考数据最佳实践,spring,Spring,情景: 我在数据库中存储了(美国)的州列表。我需要在form.jsp中显示状态列表。我查询数据库并在referenceData方法中获取状态列表,以便在加载表单时状态列表可用 问题: 由于每次页面刷新时都会执行referenceData,因此每次刷新时查询数据库不是一件很麻烦的事吗?Spring是在内部缓存还是每次都是昂贵的数据库查询调用 在Spring中填充表单加载状态下拉列表的最佳方法是什么?如果没有明确要求,Spring不会缓存任何内容。另一方面,您可以配置持久性提供程序(例如)或使用内置

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

问题: 由于每次页面刷新时都会执行referenceData,因此每次刷新时查询数据库不是一件很麻烦的事吗?Spring是在内部缓存还是每次都是昂贵的数据库查询调用


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

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

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


另一方面,缓存通常是痛苦的,尤其是当缓存验证开始发挥作用时。但在您的情况下,有什么不对呢?著名的最后一句话如果没有明确询问,Spring不会缓存任何内容。另一方面,您可以配置持久性提供程序(例如)或使用内置Spring

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


另一方面,缓存通常是痛苦的,尤其是当缓存验证开始发挥作用时。但在你的情况下,有什么错呢?著名的临终遗言你没有告诉我们你是如何得到这些州的,所以很难回答。如果您没有在任何地方配置任何缓存,它将不会在任何地方缓存。您没有告诉我们如何获取状态,因此很难回答。如果你没有在任何地方配置任何缓存,它将不会在任何地方缓存。这是美国的州列表。不要认为这在不久的将来会改变,更不用说页面刷新之间了!该列表存储在数据库中。一个整洁的地方,供所有应用程序访问。所以,我需要查询数据库中的列表并填充ModelMap…但我不想每次刷新都进行查询。你知道这种情况下最好的做法是什么吗?@rprab:再看看我的帖子。实际上,我建议要么使用一些缓存,要么在启动时加载列表并将其保存在内存中。这个列表很小,而且很稳定,足以使这种方法可行。这是美国的州列表。不要认为这在不久的将来会改变,更不用说页面刷新之间了!该列表存储在数据库中。一个整洁的地方,供所有应用程序访问。所以,我需要查询数据库中的列表并填充ModelMap…但我不想每次刷新都进行查询。你知道这种情况下最好的做法是什么吗?@rprab:再看看我的帖子。实际上,我建议要么使用一些缓存,要么在启动时加载列表并将其保存在内存中。这个列表很小,而且很稳定,足以使这种方法可行。