1

シナリオ: データベースに (米国の) 州のリストが保存されています。状態リストを form.jsp に表示する必要があります。データベースにクエリを実行し、referenceData メソッドで状態のリストを取得して、フォームが読み込まれたときに状態のリストを使用できるようにします。

質問: ページの更新ごとに referenceData が実行されるため、更新のたびにデータベースにクエリを実行するのは面倒ではありませんか? Spring はこれを内部的にキャッシュしますか、それとも毎回高価なデータベース クエリ呼び出しですか?

Springでフォームロード時に状態ドロップダウンを設定する最適な方法は何ですか?

4

1 に答える 1

1

明示的に要求されない限り、Spring は何もキャッシュしません。一方、永続化プロバイダー (例: Hibernate query cache ) を構成するか、組み込みの Spring caching abstractionを使用できます。

ページを更新するたびにデータベースにクエリを実行するのはやり過ぎですか? あなたの状況では、めったに変更されず、アイテムがほとんどない固定リスト-一度ロードして、アプリケーションの存続期間中保持するとさえ言えます。変更が必要な場合に備えて、バックドアを作成します。または、有効期限が非常に長いキャッシュを使用してください。

一方、キャッシングは、特にキャッシングの検証が行われる場合に、苦痛を伴うことがよくあります。しかし、あなたの状況では、何が悪いのでしょうか? 有名な最後の言葉

于 2012-07-19T20:22:28.480 に答える