18.3. LevelDB キャッシュストア
LevelDB は、文字列キーから文字列値への順序付けられたマッピングを提供するキーバリューのストレージエンジンです。
LevelDB キャッシュストアは 2 つのファイルシステムディレクトリーを使用します。それぞれのディレクトリーは、LevelDB データベースについて設定されます。1 つのディレクトリーは、期限が切れていないデータを保存し、2 つ目のディレクトリーは、パージの前に期限の切れたキーを保存します。
18.3.1. LevelDB キャッシュストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
手順18.3 LevelDB キャッシュストアの設定
- データベースを設定するには、
standalone.xmlのキャッシュ定義に以下の要素を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.3.2. LevelDB キャッシュストアのプログラムを使用した設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、LevelDB キャッシュストアのプログラミンによる設定例です。
手順18.4 LevelDB キャッシュストアのプログラムを使用した設定
新規の設定ビルダーの作成
ConfigurationBuilderを使用して、新規の設定オブジェクトを作成します。Configuration cacheConfig = new ConfigurationBuilder().persistence()
Configuration cacheConfig = new ConfigurationBuilder().persistence()Copy to Clipboard Copied! Toggle word wrap Toggle overflow LevelDBStoreConfigurationBuilder ストアの追加
ストアをLevelDBCacheStoreConfigurationBuilderインスタンスに追加して、その設定を構築します。Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class)Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロケーションのセットアップ
LevelDB キャッシュストアのロケーションパスを設定します。指定したパスは、主なキャッシュストアデータを保存します。ディレクトリーがない場合は自動的に作成されます。Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data")Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 期限切れのロケーションのセットアップ
LevelDB ストアのexpiredLocationパラメーターを使用して、期限切れデータのロケーションを指定します。指定されたパスは、パージされる前に期限切れデータを保存します。ディレクトリーがない場合は自動的に作成されます。Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data") .expiredLocation("/tmp/leveldb/expired").build();Configuration cacheConfig = new ConfigurationBuilder().persistence() .addStore(LevelDBStoreConfigurationBuilder.class) .location("/tmp/leveldb/data") .expiredLocation("/tmp/leveldb/expired").build();Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
プログラムを使用した設定は、Red Hat JBoss Data Grid ライブラリーモードのみで利用できます。
18.3.3. LevelDB キャッシュストアの XML 設定例 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、LevelDB キャッシュストアの XML 設定例です。
手順18.5 LevelDB キャッシュストアの XML 設定例
namedCache 要素の追加
以下のようにnamedCache要素のnameパラメーターを使用して LevelDB キャッシュストアの名前を指定します。<namedCache name="vehicleCache">
<namedCache name="vehicleCache">Copy to Clipboard Copied! Toggle word wrap Toggle overflow persistence 要素の追加
以下のようにpersistence要素のpassivationパラメーターの値を指定します。使用できる値は true および false です。<namedCache name="vehicleCache"> <persistence passivation="false"><namedCache name="vehicleCache"> <persistence passivation="false">Copy to Clipboard Copied! Toggle word wrap Toggle overflow leveldbStore 要素の追加
以下のようにleveldbStore要素のlocationパラメーターを使用して主なキャッシュストア日付を保存するロケーションを指定します。ディレクトリーがない場合は自動的に作成されます。以下はこの手順の例になります。<namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" /><namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow 期限切れの値の設定
以下のようにexpiredLocationパラメーターを使用して期限切れデータのロケーションを指定します。ディレクトリーは、パージされる前の期限切れのデータを保存します。ディレクトリーがない場合は自動的に作成されます。<namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" /><namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Shared パラメーターの設定
以下のようにleveldbStore要素のsharedパラメーターの値を指定します。使用できる値は true および false です。<namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" shared="true" /><namedCache name="vehicleCache"> <persistence passivation="false"> <leveldbStore location="/path/to/leveldb/data" expiredLocation="/path/to/expired/data" shared="true" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow Preload パラメーターの設定
以下のようにleveldbStore要素のpreloadパラメーターの値を指定します。使用できる値は true および false です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.3.4. JBoss Operations Network を使用した LevelDB キャッシュストアの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従い、JBoss Operations Network を使用して新しい LevelDB キャッシュストアをセットアップします。
手順18.6
- 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キャッシュを右クリックします。- メニューで、 オプションにカーソルを置きます。
- サブメニューで、 をクリックします。
- 以下のように新しい LevelDB キャッシュストアの名前を指定します。
図18.2 新しい LevelDB キャッシュストアの名前指定
- 表示された Resource Create Wizard で、新しい LevelDB キャッシュストアの名前を追加します。
- クリックして作業を継続します。
- 以下のように LevelDB キャッシュストアを設定します。
図18.3 LevelDB キャッシュストアの設定
- 設定ウィンドウのオプションを使用して新しい LevelDB キャッシュストアを設定します。
- をクリックして設定を完了します。
- 以下のように再起動操作をスケジュールします。
図18.4 再起動操作のスケジュール
- 画面の左パネルで、JBossAS7 Standalone Servers エントリーを展開します (まだ展開されていない場合)。
- 展開されたメニュー項目から JDG (0.0.0.0:9990) をクリックします。
- 画面の右パネルに、選択されたサーバーの詳細が表示されます。 タブをクリックします。
- Operation ドロップダウンボックスで、Restart 操作を選択します。
- Now エントリーのラジオボタンを選択します。
- をクリックしてサーバーをすぐに再起動します。
- 以下のように新しい LevelDB キャッシュストアを検出します。
図18.5 新しい LevelDB キャッシュストアの検出
- 画面の左パネルで、指定された順序で次の項目を選択して展開します:
- 新しい LevelDB キャッシュストアの名前をクリックして右パネルの設定情報を表示します。