1

I am looking for a solution to cache complex objects in java at application level.

For example, i want to load some data set from database to memory and make my application services to work on top of the objects loaded into memory. I considered this in order to improve performance.

But I am wondering how to keep the relationships of an object in a cache.

That is for example,

If a category has many items, what is the best approach to store the relationship. My idea is to store category and items separately and store the relationship in some other place. This is because I use hibernate and the associations are configured to lazy loading.

Please share your thoughts to approach this problem.

4

2 に答える 2

1

アプリケーション レベルでカスタム キャッシュを実装する必要がありますか?

Hibernate には一次キャッシュと二次キャッシュがありますが、それで十分ではありませんか? すべての休止状態オブジェクトを独自の手書きキャッシュに格納するために使用するメモリの量を考えてみてください。読み取り/書き込みも行う場合、その決定に加担すると、メリットよりも多くの問題が発生する可能性があります。もちろん、それは車輪の再発明です。

休止状態での二次キャッシュの仕組みについて読んでください。http://www.javalobby.org/java/forums/t48846.htmlおよびその他のパフォーマンス調整: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html

遅延ロードされたコレクションの反復は、セッションの操作に使用しているパターンによって異なります。良い例: https://community.jboss.org/wiki/OpenSessionInView

于 2012-10-16T07:37:22.840 に答える
0

まず、複雑なオブジェクトを対象としている場合は、それらをメモリにキャッシュしないでください。オブジェクトの数が増えると、パフォーマンスが大幅に低下します。オブジェクト リポジトリの概念に進みます。オブジェクトを複雑な形式で保存でき、要件に適合します

次の ir 技術をチェックアウトします。 noDB

またはJORM

キャッシュライブラリを探している場合は、コメントで提案されているように、 ehcache を見てください ここでehcache

于 2012-10-16T06:33:07.360 に答える