18.5. LevelDB キャッシュストア
LevelDB は、文字列キーから文字列値への順序付けられたマッピングを提供するキーバリューのストレージエンジンです。
LevelDB キャッシュストアは 2 つのファイルシステムディレクトリーを使用します。それぞれのディレクトリーは、LevelDB データベースについて設定されます。1 つのディレクトリーは、期限が切れていないデータを保存し、2 つ目のディレクトリーは、パージの前に期限の切れたキーを保存します。
18.5.1. LevelDB キャッシュストアの設定 (リモートクライアントサーバーモード)
手順18.1 LevelDB キャッシュストアを設定するには、以下を実行します。
- データベースを設定するには、
standalone.xml
のキャッシュ定義に以下の要素を追加します。<leveldb-store path="/path/to/leveldb/data" passivation="false" purge="false" > <expiration path="/path/to/leveldb/expires/data" /> <implementation type="JNI" /> </leveldb-store>
この設定例で使用された要素とパラメーターの詳細については、「キャッシュストア設定の詳細 (リモートクライアントサーバーモード)」を参照してください。
18.5.2. LevelDB キャッシュストアのプログラムを使用した設定
以下は、LevelDB キャッシュストアの、プログラムを使用した設定例です。
Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data") .expiredLocation("/tmp/leveldb/expired").build();
手順18.2 LevelDB キャッシュストアのプログラムを使用した設定
ConfigurationBuilder
を使用して、新規の設定オブジェクトを作成します。LevelDBCacheStoreConfigurationBuilder
クラスを使用してストアを追加して、その設定を構築します。- LevelDB キャッシュストアのロケーションパスを設定します。指定したパスは、主なキャッシュストアデータを保存します。ディレクトリーがない場合は自動的に作成されます。
- LevelDB ストアの
expiredLocation
パラメーターを使用して、期限切れデータのロケーションを指定します。指定されたパスは、パージされる前に期限切れデータを保存します。ディレクトリーがない場合は自動的に作成されます。
注記
プログラムを使用した設定は、Red Hat JBoss Data Grid ライブラリーモードのみで利用できます。
18.5.3. LevelDB キャッシュストアの XML 設定例 (ライブラリーモード)
以下は、LevelDB キャッシュストアの XML 設定例です。
<namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore xmlns="urn:infinispan:config:store:leveldb:6.0 location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" shared="false" preload="true"/> </persistence> </namedCache>
この設定例で使用された要素とパラメーターの詳細については、「キャッシュストア設定の詳細 (ライブラリモード)」を参照してください。
18.5.4. JBoss Operations Network を使用した LevelDB キャッシュストアの設定
以下の手順に従い、JBoss Operations Network を使用して新しい LevelDB キャッシュストアをセットアップします。
手順18.3
- Red Hat JBoss Operations Network 3.2 以上がインストールされ、起動されていることを確認します。
- JBoss Operations Network 3.2.0 用 Red Hat JBoss Data Grid プラグインパックをインストールします。
- JBoss Data Grid がインストールされ、起動されていることを確認します。
- JBoss Data Grid サーバーをインベントリーにインポートします。
- JBoss Data Grid 接続設定を実行します。
- 以下のように新しい LevelDB キャッシュストアを作成します。
図18.1 新しい LevelDB キャッシュストアの作成
default
キャッシュを右クリックします。- メニューで、Create Child オプションにカーソルを置きます。
- サブメニューで、LevelDB Store をクリックします。
- 以下のように新しい LevelDB キャッシュストアの名前を指定します。
図18.2 新しい LevelDB キャッシュストアの名前指定
- 表示された Resource Create Wizard で、新しい LevelDB キャッシュストアの名前を追加します。
- Next をクリックして作業を継続します。
- 以下のように LevelDB キャッシュストアを設定します。
図18.3 LevelDB キャッシュストアの設定
- 設定ウィンドウのオプションを使用して新しい LevelDB キャッシュストアを設定します。
- Finish をクリックして設定を完了します。
- 以下のように再起動操作をスケジュールします。
図18.4 再起動操作のスケジュール
- 画面の左パネルで、JBossAS7 Standalone Servers エントリーを展開します (まだ展開されていない場合)。
- 展開されたメニュー項目から JDG (0.0.0.0:9990) をクリックします。
- 画面の右パネルに、選択されたサーバーの詳細が表示されます。Operations タブをクリックします。
- Operation ドロップダウンボックスで、Restart 操作を選択します。
- Now エントリーのラジオボタンを選択します。
- Schedule をクリックしてサーバーをすぐに再起動します。
- 以下のように新しい LevelDB キャッシュストアを検出します。
図18.5 新しい LevelDB キャッシュストアの検出
- 画面の左パネルで、指定された順序で次の項目を選択して展開します: JBossAS7 Standalong Servers → JDG (0.0.0.0:9990) → infinispan → Cache Containers → local → Caches → default → LevelDB Stores
- 新しい LevelDB キャッシュストアの名前をクリックして右パネルの設定情報を表示します。