3

サイトの全体的なパフォーマンスを向上させるために、アプリケーションにキャッシュ フレームワークを実装することを検討しています。

Websphere 6.1、Spring、Hibernate、および Oracle で実行しています。現在の焦点は、静的データ、または 1 日を通してほとんど変化しないが頻繁に使用されるデータです。

だからどんな情報も素晴らしいでしょう。私はグーグル検索と読書を始めましたが、コミュニティのメンバーにとって何がうまくいったかを知りたいと思っていました. 私たちが関心を持っていることの 1 つは、下線を引くデータに変更が発生したときにシステムがキャッシュを無効にする機能です。

ありがとう

アップデート:

IBM の Web サイトで、WebSphere Application Server と組み合わせた Hibernate のクラスター対応キャッシュはまだ決定されていないという記事を見つけました。したがって、それらの使用がサポートされているかどうかはまだ決定されていません。

それについての考えは?クラスター環境で実行しています。

4

5 に答える 5

3

Hibernateキャッシュシステムはまさにそれを実行します。私はehCacheをHibernate(および第2レベルのキャッシュシステム)で効果的かつ簡単に使用しました。

状況によっては、 Luceneもオプションになる可能性があります。Hibernate SearchまたはCompassがそれを支援する可能性があります(ただし、いくつかの主要な作業が必要になる場合があります)。

テラコッタを使用したレプリケーションもオプションになる可能性がありますが、私はこれを行ったことがありません。

于 2009-01-15T20:18:55.570 に答える
1

Hibernateには第1レベルと第2レベルのキャッシュが組み込まれています。EhCache、OSCache、SwarmCache、またはC3P0を使用するように構成できます。

于 2009-01-15T20:20:11.930 に答える
1

また、WebSphere のデフォルト キャッシュ、つまり DynaCache を利用して、第 2 レベルのキャッシュを実装することもできます。これにより、WebSphere キャッシング インフラストラクチャを活用して、キャッシュを管理、監視、および構成できます。

于 2009-02-18T00:38:33.223 に答える
0

私はehCacheとOSCacheを使用しましたが、OSCacheの構成と使用が簡単であることがわかりました。

于 2009-01-15T20:31:13.563 に答える
0

私たちが関心を持っていることの 1 つは、下線を引くデータに変更が発生したときにシステムがキャッシュを無効にする機能です。

私が見ることができることから、Hibernate は実際には上記のことを行いません - Hibernate のドキュメントから:

気をつけて。キャッシュは、別のアプリケーションによって永続ストアに加えられた変更を認識することはありません (ただし、キャッシュされたデータを定期的に期限切れにするように構成されている場合があります)。

明らかにそれが意味することは、キャッシュにはESPがなく、クラスター内にないアプリがデータベースで直接DMLを呼び出したかどうかを判断できないということです-しかし、あなたが望むのは、サービスを公開する機能であると推測していますレガシ アプリは、そのデータを更新するときにキャッシュをフックして無効にします。そして、私の知る限り、これがどのように行われるかについての提案はありません。

于 2009-03-02T16:34:42.407 に答える