NHibernate Cache
NCache 高性能として機能する Hibernate セカンドレベル(L2)キャッシュプロバイダーは、NHibernateアプリケーションが分散キャッシュを使用して最適化されたスケーラビリティとパフォーマンスを実現できるようにします。 NCache L2キャッシュとして、開発者はキャッシュされたエンティティとクエリ結果をサーバーファーム全体で共有できるため、コードを変更することなくデータベース呼び出しの繰り返しを大幅に削減できます。この統合により、データベース同期やクエリキャッシュなどの機能が提供されるため、分散環境におけるデータの整合性を維持できます。
第一レベルのNHibernateキャッシュ
NHibernate の第一レベル キャッシング モジュールは、セッション レベルのプロセス内キャッシングを提供します。セッションが作成されると、セッション キャッシュに関連付けられます。さらに、データベースからオブジェクトがロードされると、セッション キャッシュはオブジェクトのコピーを保持します。同じセッションが再度オブジェクトを取得する場合、キャッシュされたコピーが取得されます。特定のトランザクションにおいて、同じオブジェクトが複数回更新された場合でも、更新されるのはセッション キャッシュ内のみとなります。トランザクションがコミットされると、オブジェクトの最終状態のみがデータベースに永続化されるため、繰り返し更新呼び出しが発生するのを防ぐことができます。

NCache NHibernate 2次キャッシュとして
NCache NHibernateセカンドレベルキャッシュプロバイダを提供します。 NCache プロバイダーは、コードを変更することなく NHibernate セカンドレベルキャッシュとして構成できます。 NCache NHibernateの2次キャッシュとして、アプリケーションは NCacheの分散キャッシュ機能。

NCache セカンドレベルキャッシュプロバイダーでは次の機能が提供されます。
複数のリージョンを指定する
で複数の NHibernate リージョンを指定および構成できます。 NCache NHibernate Cache の設定ファイル。これらの領域は領域名を使用して識別され、複数の領域を設定できます。 NCache 機能。各地域は、 NCache キャッシュ機能。
NCache リージョンのキャッシュ
NCache 各リージョンごとに個別のキャッシュインスタンスを指定することも、複数のリージョンで1つのキャッシュインスタンスを使用することもできます。
キャッシュアイテムの優先度: 各リージョンのデータは、NHibernate キャッシュ内で優先順位が設定されています。この優先順位は、データ削除ポリシーに使用されます。
絶対有効期限: 地域は使用できる NCache設定された時間間隔後に古いデータを期限切れにすることで、キャッシュ内のデータを最新の状態に保つ絶対有効期限機能。
スライド有効期限: 地域は使用できる NCache最も頻繁に使用されるデータを保持しながら、特定の時間間隔後に未使用のデータを削除する、スライディング有効期限機能。
単一のプラットフォーム上で複数のリージョンを構成する NCache キャッシュインスタンス
NCache NHibernateのプロバイダーは、単一の NCache 複数のNHibernateリージョンに対応するインスタンス。 NCache データとそれに関連する NHibernate リージョンの記録を保持します。
データベースの依存関係
データベースとのデータの一貫性を確保するには、 NCache は、エンティティ ベースで構成できる NHibernate アプリケーションのデータベース依存関係機能を提供します。 データベース依存関係は、データベース レコードが変更されるとキャッシュ内のそれぞれのエンティティが無効になるように、キャッシュ データをデータベースと同期します。 したがって、NHibernate は、データベースの更新が NHibernate アプリケーション以外のアプリケーションから行われた場合でも、最新のレコードを取得します。
大規模なクエリ結果をキャッシュするクエリキャッシュ機能
複雑で大規模なクエリは、結果が変わらないまま繰り返し実行されると、データベースに負荷をかける可能性があります。このようなクエリの複数回の実行を避けるため、 NCache NHibernateのクエリキャッシュ機能を使用して、このようなクエリをキャッシュできます。つまり、クエリは一度実行され、その結果がキャッシュされるため、同じ共有キャッシュを使用するように構成されたNHibernateアプリケーションで利用できるようになります。 NCacheデータベースへのクエリを繰り返し実行することなく、クエリキャッシュをベースとしたキャッシュを実現します。
コード変更は必要ありません
NCache コードを変更する必要がなく、構成ファイルを通じてすべての機能を使用できます。
このセクションの内容
使い方 NCache NHibernate 2次キャッシュとして
設定と使用方法を説明します NCache NHibernate の 2 次キャッシュとして。
NHibernate を使用したクエリ キャッシング
クエリをキャッシュする方法を説明します NCache NHibernateを使用します。
NHibernateセカンドレベルキャッシュとデータベースを同期する
データベースをNHibernateと同期する方法を説明します NCache.