1

http://nhibernate.hibernatingrhinos.com/28/first-and-second-level-caching-in-nhibernateからの抜粋

「第 2 レベル キャッシュの有効期間は、セッション ファクトリに関連付けられており、個々のセッションには関連付けられていません。エンティティが一意の ID によって読み込まれ、第 2 レベル キャッシュがアクティブになると、エンティティは他のすべてのセッション (同じセッションファクトリー)」

上記が当てはまり、Web ファームをお持ちの場合、次のことが当てはまります

1) アプリケーション (私の場合は各 Web サーバー) ごとに SessionFactory があります 2) Web サーバーごとに個別の第 2 レベルのキャッシュがあります 3) サーバー A の第 2 レベルのキャッシュにロードされたデータは、サーバー B では利用できません

私は正しいですか?

4

1 に答える 1

1

記事で述べたように、NHibernate の第 1 レベルと第 2 レベルのキャッシュについて言及しました。

NHibernate はエンタープライズ OR/M 製品として設計されているため、Web ファーム シナリオでの実行を非常によくサポートしています。このサポートには、ファーム全体の即時更新を含む、分散キャッシュと一緒に実行することが含まれます。NHibernate は、これらのシナリオでキャッシュの一貫性を確保するために多大な努力を払っています...

分散キャッシュが使用されている場合、すべてのサーバーで即時更新が行われます (たとえば、古いデータを削除するため)。

以下も参照してください。

于 2013-01-25T10:28:13.353 に答える