3

Hazecast と Ehcache の分散キャッシュを評価したい。

まず、標準の dao/service レイヤーを持つ Spring + Hibernate プロジェクトでそれらを使用する方法。Ehcache には、次のような非常にエレガントで使いやすい注釈があります。

@Cacheable(cacheName = "test", keyGenerator = @KeyGenerator (
            name = "SpELCacheKeyGenerator", properties = @Property(value = "#key.string(#args[0])", name = "expression")))

Hazelcast の上記のようなものはありますか? エンティティ/dtos に対してそのように Hazelcast を使用する方法に関する情報は見つかりませんでした。

4

2 に答える 2

6

Hazelcast 2.1 が利用可能で、Spring Cache の実装があります。Spring Cacheable アノテーションは、Hazelcast で簡単に使用できるようになりました。

http://www.hazelcast.com/docs/2.1/manual/multi_html/ch14s03.html

于 2012-05-06T15:35:18.090 に答える
3

Spring の Cache 抽象化は Spring 3.1 で導入され、メソッドの結果をキャッシュするように設計されているため、キャッシュで利用可能な情報に基づいて実行回数が削減されます。EhCache または Hazelcast を Hibernate の 2 次キャッシュとして使用する場合は、Hibernate の構成を使用する必要があります (Spring xml または Hibernate アノテーションを使用)。Hibernate L2 キャッシュと Spring のキャッシュの間には関係がありません。

Spring には、すぐに使えるキャッシュ プロバイダーの実装が 2 つあります。公式ドキュメントから: Spring Cache Abstraction

JDK java.util.concurrent.ConcurrentMap と Ehcache の 2 つの統合がすぐに利用できます。

現時点では、Hazelcast には組み込みの Spring Cache Provider がありません。しかし、Hazelcast public group に簡単な実装の投稿があります。以下のリンクを参照してください。

Spring 3.1 キャッシュ可能アノテーションと Hazelcast の統合

于 2011-11-11T19:07:10.233 に答える