6.2. ローカルモード
マップの代わりに Red Hat JBoss Data Grid のローカルモードを使用すると、多くの利点があります。
簡単なマップでは提供されない次のような機能をキャッシュが提供します。
- データを永続化するライトスルーおよびライトビハインドキャッシュ。
- Java 仮想マシン (JVM) がメモリー不足にならないようにするためのエントリーエビクション。
- 定義された期間後に期限切れになるエントリーのサポート。
JBoss Data Grid は、楽観的および非観的ロックなどの技術を使用してロックの取得を管理する、高パフォーマンスで読み取りをベースとするデータコンテナーを中心に構築されます。
また、JBoss Data Grid は CAS (Compare and Swap) アルゴリズムやその他のロックフリーアルゴリズムも使用するため、スループットの高いマルチ CPU 環境やマルチコア環境を実現します。さらに、JBoss Data Grid のキャッシュ API は JDK の
ConcurrentMap を拡張するため、マップから JBoss Data Grid への移行プロセスが簡単になります。
6.2.1. ローカルモードの設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ローカルキャッシュはすべてのキャッシュコンテナーに追加することができます。以下の例は、
local-cache 要素を追加する方法について説明しています。
手順6.2 local-cache 要素
local-cache 要素は次のパラメーターを使用して、キャッシュコンテナーと共に使用されるローカルキャッシュに関する情報を指定します。
nameパラメーターは使用するローカルキャッシュの名前を指定します。startパラメーターはいつキャッシュコンテナーが起動するかを示します (要求時にレイジーに起動するか、またはサーバー起動時に「すぐに (eargerly)」起動するかなど)。このパラメーターの有効な値はEAGERとLAZYです。batchingパラメーターは、ローカルキャッシュに対してバッチ処理が有効であるかを指定します。statisticsがコンテナーレベルで有効にされている場合、statistics属性をfalseに設定することにより、キャッシュごとの統計は、監視を必要としないキャッシュについては選択的に無効にすることができます。indexingパラメーターのindex属性はローカルキャッシュに使用されるインデックス化のタイプを指定します。この属性の有効な値はNONE、LOCAL、およびALLです。
この代わりに、引数のないコンストラクターで
DefaultCacheManager を作成することもできます。どちらの方法でも、ローカルのデフォルトキャッシュが作成されます。
ローカルキャッシュとクラスター化されたキャッシュは同じキャッシュコンテナーで共存できますが、コンテナーに
<transport/> がない場合はローカルキャッシュのみ格納できます。例で使用されたコンテナーには <transport/> がないため、ローカルキャッシュのみを格納できます。
キャッシュインターフェースは
ConcurrentMap を拡張し、複数のキャッシュシステムと互換性があります。
6.2.2. ローカルモードの設定 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Data Grid のライブラリーモードでは、キャッシュの
mode パラメーターを local に設定することは、クラスタリングモードを指定しないことと同じではありません。後者の場合には、キャッシュのキャッシュマネージャーがトランスポートを定義する場合でも、キャッシュはデフォルトでローカルモードに設定されます。
以下のようにクラスターモードをローカルに設定します。
<clustering mode="local" />
<clustering mode="local" />