2017-04-19 8 views
0

これは一般的なキャッシュに関する質問です。後で使用するコードに関係なく、私はEhcache for Javaを使用しています。キャッシュされた要素のリストをロードする際のパフォーマンス上の問題

システムがデータベースから要素の動的リストをロードする必要がある(クエリがいくつかの基準に基づいているため)、キャッシュシステムを利用してロードパフォーマンスを向上させる既知の方法があります。

私の推測では、要素のリストの代わりにIDのリストを読み込んで、各要素を個別にフェッチして、エンティティのキ​​ャッシュを活用することができます。

ありがとうございました。

PS:十分な質問があることを願っています。どんな提案も歓迎されます。

答えて

0

一般的な答えは、「すべてが依存している」です。

エンティティがIDによってキャッシュされることが予想される場合は、IDリストをロードしてからキャッシュをフェッチする方が高速になります。しかし、あなたはそれを確認する必要があります。そうでないと、あるエンティティを他のエンティティの後にフェッチすることは非常に遅くなります。

しかし、DBからのクエリだけでも高速にすることができます。もしそれがあまり起こらなければ。 DBからJavaへのマッピングを最適化すると、パフォーマンスも向上します。

その他のトリックには、必要なデータのみの取得が含まれます。エンティティ全体ではありません。私は通常それから始めます。

私が言ったように、それは依存しています。

関連する問題