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 キャッシュストアのプログラムを使用した設定

  1. ConfigurationBuilder を使用して、新規の設定オブジェクトを作成します。
  2. LevelDBCacheStoreConfigurationBuilder クラスを使用してストアを追加して、その設定を構築します。
  3. LevelDB キャッシュストアのロケーションパスを設定します。指定したパスは、主なキャッシュストアデータを保存します。ディレクトリーがない場合は自動的に作成されます。
  4. 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

  1. Red Hat JBoss Operations Network 3.2 以上がインストールされ、起動されていることを確認します。
  2. JBoss Operations Network 3.2.0 用 Red Hat JBoss Data Grid プラグインパックをインストールします。
  3. JBoss Data Grid がインストールされ、起動されていることを確認します。
  4. JBoss Data Grid サーバーをインベントリーにインポートします。
  5. JBoss Data Grid 接続設定を実行します。
  6. 以下のように新しい LevelDB キャッシュストアを作成します。
    Use JBoss Operations Network to create a new cache store.

    図18.1 新しい LevelDB キャッシュストアの作成

    1. default キャッシュを右クリックします。
    2. メニューで、Create Child オプションにカーソルを置きます。
    3. サブメニューで、LevelDB Store をクリックします。
  7. 以下のように新しい LevelDB キャッシュストアの名前を指定します。
    Name the new LevelDB Cache Store

    図18.2 新しい LevelDB キャッシュストアの名前指定

    1. 表示された Resource Create Wizard で、新しい LevelDB キャッシュストアの名前を追加します。
    2. Next をクリックして作業を継続します。
  8. 以下のように LevelDB キャッシュストアを設定します。
    Configure the new LevelDB Cache Store

    図18.3 LevelDB キャッシュストアの設定

    1. 設定ウィンドウのオプションを使用して新しい LevelDB キャッシュストアを設定します。
    2. Finish をクリックして設定を完了します。
  9. 以下のように再起動操作をスケジュールします。
    Schedule a restart operation

    図18.4 再起動操作のスケジュール

    1. 画面の左パネルで、JBossAS7 Standalone Servers エントリーを展開します (まだ展開されていない場合)。
    2. 展開されたメニュー項目から JDG (0.0.0.0:9990) をクリックします。
    3. 画面の右パネルに、選択されたサーバーの詳細が表示されます。Operations タブをクリックします。
    4. Operation ドロップダウンボックスで、Restart 操作を選択します。
    5. Now エントリーのラジオボタンを選択します。
    6. Schedule をクリックしてサーバーをすぐに再起動します。
  10. 以下のように新しい LevelDB キャッシュストアを検出します。
    Discover the new LevelDB cache store

    図18.5 新しい LevelDB キャッシュストアの検出

    1. 画面の左パネルで、指定された順序で次の項目を選択して展開します: JBossAS7 Standalong ServersJDG (0.0.0.0:9990)infinispanCache ContainerslocalCachesdefaultLevelDB Stores
    2. 新しい LevelDB キャッシュストアの名前をクリックして右パネルの設定情報を表示します。