Spring Webベースのアプリケーションで静的データのキャッシュメカニズムを実装する予定ですが、どれが最適でどのように機能するかを説明できますか?
免責事項:私は Terracotta/Software AG 従業員、Ehcacheのメンテナーです
Ehcache は、Hibernate ORMのデフォルトの2次キャッシュとして使用されることで有名なJVMキャッシングライブラリです。
Spring cache はSpring 3.1で導入され、Springアプリケーションでのキャッシュの使用を定義するために@CachePut
などの注釈をもたらしました。デフォルトでは、Springキャッシュはプレーンマップを使用しますが、Ehcacheを含む一般的なキャッシングフレームワークを使用するように構成できます。
Spring 4.1以降、Springキャッシュは、JVMのキャッシュの標準である JSR-107 をサポートしています。
つまり、JSR-107キャッシングアノテーションを追加してから、キャッシングライブラリを選択できます( ehcache 2または / guava / caffeine =/ etc。 ):Springキャッシュアノテーションに関連付けられていなくても、キャッシュベンダーに関連付けられていません。
SpringキャッシュアノテーションとJSR-107アノテーションの類似点を説明するこの素敵なブログ投稿 があり、Spring BootアプリケーションでEhcache3を使用することを選択した場合、 方法を説明する別の興味深いブログ投稿があります。アプリに統合してください
Ehcache3はJSR 107をサポートしています
Ehcache2の場合、この実装を使用できます
https://github.com/ehcache/ehcache-jcache/tree/master/ehcache-jcache