• Facebook
  • Twitter
  • Youtube
  • 裏地付き
  • RSS
  • ドキュメント
  • 比較
  • ブログ
  • ダウンロード
  • お問い合わせ
ダウンロード
目次を表示/非表示

第2レベルのNHibernateキャッシュ

NHibernateには、デフォルトで使用される第1レベル(セッションレベル)キャッシュがあります。各セッションは、他のセッションと共有されない独自のセッションレベルキャッシュを保持しています。このキャッシュは、セッションが閉じられるたびに破棄されます。ただし、NHibernateは、複数のセッション間で共有され、個々のセッションの存続期間を超えて保持される第2レベルキャッシュもサポートしています。

NCache NHibernate の分散型セカンドレベルまたはプロセスレベルのキャッシュを実装することで、NHibernate にキャッシュを提供します。 ICacheProvider (NAIST) と ICache インターフェイス。 これにより、 NCache 既存の NHibernate アプリケーションでコードを変更することなく NHibernate のセカンド レベル キャッシュとして使用できます。必要なのは、NHibernate 構成ファイルを変更してプラグインすることだけです。 NCache キャッシュプロバイダーとして。

第 2 レベル キャッシュは、それを有効にし、NHibernate 構成で第 2 レベル キャッシュ プロバイダーを構成することによって構成できます。

設定方法 NCache NHibernateの2次キャッシュプロバイダーとして

重要

インストールされているNHibernateがサポートするNHibernateのバージョンを使用してください。NCache パッケージ。

NHibernate設定セクションWeb.configを登録する

加えます <hibernate-configuration> in Web.config 下 <configSections> タグ:

<configSections>
  <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>

NHibernateリージョンの構成を指定する

  • インストール NCache ローカル環境を持たないアプリケーション用の NuGet パッケージ NCache インストール。 で次のコマンドのいずれかを実行します パッケージ マネージャー コンソール Visual Studio内:

    • 大手機関向け:

      Install-Package NHibernate.NCache
      
    • OpenSourceの場合:

      Install-Package NHibernate.NCache.Opensource
      
  • 構成 NCache NHibernateのセカンドレベルキャッシュプロバイダとして、 cache.provider_class 下のプロパティ 要素 (<hibernate-configuration>).

  • アプリケーションで第2レベルキャッシュの使用を有効にするには、 cache.use_second_level_cache プロパティを True にします。

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
   <session-factory>
     <property name="cache.provider_class">Alachisoft.NCache.Integrations.NHibernate.Cache.NCacheProvider, Alachisoft.NCache.Integrations.NHibernate.Cache</property>
     <property name="cache.use_second_level_cache">true</property>
   </session-factory>
 </hibernate-configuration>

アプリケーションIDを指定します NCache NHibernateプロバイダー

NCache NHibernateのプロバイダーは、各アプリケーションを一意の アプリケーションID。この ID は、そのアプリケーションに適切な構成を NCache NHibernateの構成ファイル(NCacheNHibernate.xml)。 この アプリケーションID アプリケーションの構成ファイルで指定する必要があります (Web.config):

<appSettings>
  <add key="ncache.application_id" value="myapp" />
</appSettings>

L2キャッシュ用のNHibernateエンティティのマッピング

2次キャッシュの使用を有効にすると、デフォルトでは各クラスオブジェクトがキャッシュされません。代わりに、キャッシュする必要があるクラスは、クラスマッピングでキャッシュ可能としてマークされます(.hbm.xml) ファイル。クラスをキャッシュ可能としてマークするには、クラスの設定に次のタグを追加します。

<cache usage="read-write" region ="AbsoluteExpirationRegion"/>

上記のタグでは、プロパティ usage (NAIST) と region 変更可能。

加盟国 詳細説明
region このクラス オブジェクトに使用する第 2 レベル キャッシュ領域の名前を指定します。領域が指定されていない場合は、デフォルトの領域構成で完全修飾名 (FQN) が領域名として使用されます。
usage このクラスに使用するキャッシュ同時実行方式を指定します。 Hibernate では、次の 3 つの同時実行戦略をキャッシュに使用できます。
- Read-Write
- Nonstrict-Read-Write
-Read-Only

キャッシュ領域の構成

NHibernateはキャッシュ領域を使用してオブジェクトを格納します。 NCache NHibernateのキャッシュ領域をさまざまなプロパティで設定できます。この目的のために、 NCache という名前の設定ファイルがあります NCacheNHibernate.xmlには、NHibernateの2次キャッシュで使用されるすべての領域の構成が含まれています。このファイルは、アプリケーションのルートディレクトリまたは %NCHOME%\config (Windows)または /opt/ncache/config (Linux)。

 <configuration>
   <application-config application-id="myapp" enable-cache-exception="true" default-region-name="default" key-case-sensitivity="false">
   <cache-regions>
        <region name="AbsoluteExpirationRegion" cache-name="demoCache"
        priority="Default" expiration-type="absolute" expiration-period="180"/>
        <region name="default" cache-name="demoCache" priority="default"
        expiration-type="none" expiration-period="0"/>
    </cache-regions>
  </application-config>
 </configuration>

複数のアプリケーション構成をで指定できます NCacheNHibernate.xml。すべての NHibernate アプリケーションは、 アプリケーションID 申請書に指定された アプリの構成/Web.config ファイルにソフトウェアを指定する必要があります。

以下は、 application-config のセクションから無料でダウンロードできます。

Member 詳細説明
application-id このオプションを使用すると、ユーザーは現在の ID に一意の ID を指定できます。 application-config。 この ID は、特定のアプリケーションに適切な構成を選択するために使用されます。
enable-cache-exception で発生した例外が発生したかどうかを識別します。 NCache NHibernate プロバイダーに伝播するかどうか。
default-region-name アプリケーションのデフォルトリージョンを指定できます。特定のリージョンの設定が見つからない場合は、デフォルトリージョンの設定が使用されます。指定されたデフォルトリージョンの設定は、 cache-regions のセクションから無料でダウンロードできます。
key-case-sensitivity このオプションを使用すると、キャッシュ キーで大文字と小文字を区別するかどうかを指定できます。このオプションは、使用するデータベースに応じて設定する必要があります。データベースで大文字と小文字が区別される場合は、このオプションを True に設定し、そうでない場合は False に設定します。
cache-regions このセクションでは、ユーザーが NHibernate アプリケーションの複数のキャッシュ領域を構成できるようにします。各リージョンの構成は、 地域 タグ。
region このタグには、XNUMX つの特定の領域の構成が含まれています。 次のオプションは、特定のリージョンに対して構成できます。

name: 各地域は名前によって識別されます。領域の名前は一意である必要があります。

cache-name: このオプションでは、次の値を指定できます。 NCacheこのリージョンに使用されるのキャッシュ名。

priority: ユーザーがキャッシュされたアイテムに使用したい優先度。可能な値は次のとおりです。

- Default
- Low
- BelowNormal
- Normal
- AboveNormal
- NotRemovable

expiration-typeこのオプションを使用すると、この領域内の任意のアイテムの有効期限の種類を指定できます。指定可能な値は次のとおりです。 absolute/sliding/none.

expiration-period: 絶対/スライド有効期限が設定されている場合、有効期限を指定できます。その値は 0 より大きくなければなりません。

database-dependencies これにより、ユーザーは現在の NHibernate アプリケーションのデータベース依存関係を指定できます。

dependency: 各依存関係は 依存関係 鬼ごっこ。 複数の依存関係に対して複数のタグを構成できます。 依存関係ごとに次のオプションを構成できます。

entity-name: 依存関係は、クラスの完全修飾名(FQN)に基づいて追加されます。このオプションを使用すると、現在の依存関係を追加するクラスの名前を指定できます。各エンティティは、最大で1つの依存関係を持つことができます。

type: データベースの依存関係タイプを指定できます。指定可能な値は SQL/Oracle/OleDB です。 NCache プロバイダーは、NHibernate の構成で指定された接続文字列を使用するため、接続文字列に適切な依存関係の種類を使用します。

sql-statement: 構築に使用するSQLステートメントを指定できます NCacheのデータベース依存関係。

cache-key-format: このオプションは、現在のエンティティ タイプのアイテムのキャッシュ キー形式を構成するために使用されます。キャッシュ キーの形式には「[pk]」が含まれている必要があります。これはレコードの主キーに置き換えられます。キャッシュキー形式には以下も含まれる場合があります [en] これはエンティティ名に置き換えられます。キャッシュキー形式のデフォルト値は次のとおりです。 NHibernateNCache:[en] #[pk]OleDB データベース依存関係の場合、データベース トリガーを書き込むときに同じキャッシュ キー形式を使用する必要があります。

composite-key-separator: 現在のエンティティのレコードに主キーとして複合キーがある場合、 Cache-key 複合キー区切り文字で区切られたすべてのキーを組み合わせて形成されます。複合キー区切り文字の長さは 1 文字である必要があります。デフォルト値は "$" です。

も参照してください

NHibernateクエリキャッシングの使用
NHibernateを使用したデータベース同期の構成
EntityFrameworkキャッシュプロバイダー

お問い合わせ

電話

+1 214-619-2601   (米国)

+44 20 7993 8327   (英国)

 
Eメール

sales@alachisoft.com

support@alachisoft.com

NCache
  • エディションの比較
  • NCache アーキテクチャ
  • ベンチマーク
ダウンロード
価格
遊び場を試してみる

デプロイメント
  • クラウド (SaaS & ソフトウェア)
  • オンプレミス
  • Kubernetes
  • デッカー
技術的なユースケース
  • ASP.NETセッション
  • ASP.NET Core セッション
  • Pub / Subメッセージング
  • リアルタイムASP.NET SignalR
  • インターネットのもの(IoT)
  • NoSQLデータベース
  • ストリーム処理
  • Microservices
資料
  • 雑誌の記事
  • サードパーティの記事
  • 記事
  • 動画
  • ホワイトペーパー
  • 作品
  • トーク
  • ブログ
  • ドキュメント
顧客のケーススタディ
  • お客様の声
  • Customers
サポート
  • デモを予約
  • フォーラム(Googleグループ)
  • ヒント
会社
  • リーダーシップ
  • Partners
  • ニュース
  • イベント
  • Careers
お問い合わせ

  • 英語中国語(簡体字)仏語ドイツ語イタリア語日本語韓国語ポルトガル語スペイン語

  • お問い合わせ
  •  
  • サイトマップ
  •  
  • 利用規約
  •  
  • プライバシーポリシー
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。
トップに戻る