2012-01-13 10 views
1

Webアプリケーション用にJSF、サーブレット、およびBeanの組み合わせを使用しています。データを取得するためにデータベースにヒットします。このデータは、JFreeグラフを使用してグラフでユーザーページに表示されますしかし、問題は、毎回データベースにヒットしたくないということです。すべてのデータを取得するには1つのクエリで十分です。データベースに1回だけヒットし、おそらくデータを収集し、それに基づいてデータを収集するロジックが必要です。これは私の同じアプリケーションで行うことができます。これを行うにはJava Scriptを使用する必要があります。私はデータを取り込むロジックを持っていますが、データアクセスオブジェクトメソッドをどこに置いて実行するかはわかりません1回だけ。Webアプリケーションデータベースの負荷軽減

+1

を使用して、データをキャッシュすることができます。セッションが始まるとデータベースにアクセスし、セッションスコープに保持することができます。そのためには、セッションスコープのマネージドBeanを使用できます。そうすれば、それはセッションのために持続するでしょう。 –

+0

+1のアイデアは、私はそれをやった。 – Madusudanan

+0

永続性をどのように処理しているかによって異なります。プレーンJDBC? JPA? Ol 'Hibernate?この解決方法は、このコーナーで求められる必要があります。たとえば、JPAはボックス外の第2レベルのキャッシュをサポートしています。 – BalusC

答えて

1

あなたはSpring cache-abstractionを使用して、あなたのデータへのアクセス方法は、おそらく唯一のデータベースからデータをロードし、それを返すのEHcache

+0

良いですが、複雑さを増やしたくありません。JSF自体でこれを行うための軽量な方法があります。 – Madusudanan

+0

メソッドの結果を手動で作成したデータ構造にキャッシュしてから、メソッドのチェックを行います。言い換えれば、手でキャッシングメカニズムを作成しますが、再利用する方がよいでしょう –

関連する問題