18.2. キャッシュストア設定の詳細 (ライブラリモード)
以下のリストには、JBoss Data Grid のライブラリーモードのキャッシュストア要素の設定要素とパラメーターに関する詳細が含まれます。
namedCache 要素
nameパラメーターに名前の値を追加してキャッシュストアの名前を設定します。
persistence 要素
passivationパラメーターは、Red Hat JBoss Data Grid がストアと対話する方法に影響を与えます。オブジェクトがインメモリーキャッシュから削除されると、パッシベーションによりオブジェクトがシステムやデータベースなどの 2 次データストアに書き込まれます。このパラメーターの有効な値は、trueとfalseですが、passivationはデフォルトでfalseに設定されます。
singleFile 要素
sharedパラメーターは、異なるキャッシュインスタンスによってキャッシュストアが共有されていることを示します。たとえば、クラスター内のすべてのインスタンスが、同じリモートの共有データベースと通信するために同じ JDBC 設定を使用する場合があります。sharedは、デフォルトでfalseになります。trueに設定すると、異なるキャッシュインスタンスによって重複データがキャッシュストアに書き込まれることが避けられます。LevelDB キャッシュストアの場合は、このパラメーターを設定から除外するか、falseに設定する必要があります (このキャッシュストアの共有はサポートされていません)。preloadパラメーターはデフォルトでfalseに設定されます。trueに設定されると、キャッシュストアに保存されたデータは、キャッシュの起動時にメモリーにプリロードされます。これにより、キャッシュストアのデータが起動後すぐに利用できるようになり、データのレイジーなロードの結果としてキャッシュ操作の遅れを防ぐことができます。プリロードされたデータは、ノード上でローカルにのみに保存され、プリロードされたデータのレプリケーションや分散は行われません。Red Hat JBoss Data Grid は、エビクションのエントリーの最大設定数までの数のエントリーをプリロードします。fetchPersistentStateパラメーターは、キャッシュの永続ステートを取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、fetch persistent 状態は無視されます。複数のキャッシュストアでこのプロパティーがtrueに設定されている場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentStateプロパティーはデフォルトではfalseです。ignoreModificationsパラメーターは、変更メソッドが特定のキャッシュストアに適用されるかどうかを決定します。これにより、書き込み操作を共有キャッシュストアではなく、ローカルファイルキャッシュストアに適用できます。一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュストアにのみ存在する必要がある場合があります。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュストアで適用されます。ignoreModificationsはデフォルトではfalseです。maxEntriesパラメーターは、許可されるエントリーの最大数を指定します。無制限のエントリーの場合のデフォルト値は -1 です。maxKeysInMemoryパラメーターは、データルックアップを迅速化するために使用されます。単一ファイルストアは、キーのインデックスとファイル内のそれらの場所を保持し、maxKeysInMemoryパラメーターを使用してインデックスのサイズが制限されます。このパラメーターのデフォルト値は -1 です。purgeOnStartupパラメーターは、キャッシュストアの起動時にキャッシュストアがパージされるかどうかを制御します。- The
location設定要素は、ストアが書き込みできるディスクの場所を設定します。
async 要素
async 要素には、キャッシュストアのさまざまな側面を設定するパラメーターが含まれます。
enabledパラメーターは、ファイルストアを非同期にするかどうかを決定します。threadPoolSizeパラメーターは、変更をストアに同時に適用するスレッドの数を指定します。このパラメーターのデフォルト値は1です。flushLockTimeoutパラメーターは、キャッシュストアに定期的にフラッシュする状態を保護するロックを取得するための時間を指定します。このパラメーターのデフォルト値は1です。modificationQueueSizeパラメーターは、非同期ストアの変更キューのサイズを指定します。基礎となるキャッシュストアがこのキューを処理するよりも速く更新される場合に、その期間において非同期ストアは同期ストアのように動作し、キューがさらに多くの要素を許可できるようになるまでブロックします。このパラメーターのデフォルト値は1024要素です。shutdownTimeoutパラメーターは、キャッシュストアを停止するのにかかる最大時間を指定します。このパラメーターのデフォルト値は25秒です。
singleton 要素
singleton 要素を使用すると、クラスター内の 1 つのノードによってのみ変更を保存できます。このノードはコーディネーターと呼ばれます。コーディネーターは、インメモリー状態のキャッシュをディスクにプッシュします。shared 要素は、singleton を同時に有効にした状態で定義することはできません。
enabled属性は、この機能を有効にするかどうかを決定します。このパラメーターの有効な値はtrueとfalseです。enabled属性は、デフォルトでfalseに設定されます。pushStateWhenCoordinatorパラメーターは、デフォルトでtrueに設定されます。trueの場合は、このプロパティーにより、コーディネーターになったノードが、インメモリー状態を基礎となるキャッシュストアに転送します。このパラメーターは、コーディネーターがクラッシュし、新規のコーディネーターが選択される場合に役に立ちます。pushStateWhenCoordinatorがtrueに設定された場合、pushStateTimeoutパラメーターはインメモリー状態を基礎となるキャッシュローダーにプッシュするプロセスが完了するのにかかる最大ミリ秒数を設定します。このパラメーターのデフォルトの時間は 10 秒です。
remoteStore 要素
remoteCacheName属性は、リモート Infinispan クラスターで接続するリモートキャッシュの名前を指定します。リモートキャッシュの名前が指定されないと、デフォルトのキャッシュが使用されます。fetchPersistentState属性がtrueに設定されると、リモートキャッシュがクラスターに参加したときに永続ステートが取り込まれます。複数のキャッシュストアがチェーンされている場合は、1 つのキャッシュストアだけでこのプロパティーをtrueに設定できます。この値のデフォルトはfalseです。shared属性は、複数のキャッシュインスタンスがキャッシュストアを共有する場合にtrueに設定されます。これにより、複数のキャッシュインスタンスが同じ変更内容を個別に書き込むことを避けられます。この属性のデフォルト値はfalseです。preload属性を使用すると、キャッシュストアデータがメモリーにプリロードされ、起動後すぐにアクセス可能になります。これをtrueに設定する欠点は、起動時間が増えることです。この属性のデフォルト値はfalseです。ignoreModifications属性を使用すると、キャッシュを変更する操作 (配置、削除、消去、保存など) がキャッシュストアに影響を与えることを防ぐことができます。この結果、キャッシュストアがキャッシュと同期しなくなることがあります。この属性のデフォルト値はfalseです。purgeOnStartup属性を使用すると、キャッシュストアが起動プロセス時にパージされます。この属性のデフォルト値はfalseです。tcpNoDelay属性を使用すると、TCPNODELAYスタックがトリガーされます。この属性のデフォルト値はtrueです。pingOnStartup属性を使用すると、クラスタートポロジーを取り込むために、ping 要求がバックエンドサーバーに送信されます。この属性のデフォルト値はtrueです。keySizeEstimate属性は、キーサイズの推定値を提供します。この属性のデフォルト値は64です。valueSizeEstimate属性は、値をシリアライズおよびデシリアライズする時のバイトバッファーのサイズを指定します。この属性のデフォルト値は512です。forceReturnValues属性は、FORCE_RETURN_VALUEをすべての呼び出しに対して有効にするかどうかを設定します。この属性のデフォルト値はfalseです。
servers 要素および server 要素
複数のサーバーのサーバー情報をセットアップするために remoteStore 要素内に servers 要素を作成します。単一サーバーの情報を追加するには、一般的な servers 要素内に server 要素を追加します。
host属性はホストアドレスを設定します。port属性は、リモートキャッシュストアで使用されるポートを設定します。
connectionPool 要素
maxActive属性は、一度に各サーバーに設定できるアクティブな接続の最大数を示します。この属性のデフォルト値は-1であり、これはアクティブな接続の無限な数を示します。maxIdle属性は、一度に各サーバーに設定できるアイドル状態の接続の最大数を示します。この属性のデフォルト値は-1であり、これはアイドル状態の接続の無限な数を示します。maxTotal属性は、組み合わされたサーバーセット内の永続的接続の最大数を示します。この属性のデフォルト設定は-1であり、これは接続の無限な数を示します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
leveldbStore 要素
locationパラメーターは、プライマリーキャッシュストアを格納する場所を指定します。ディレクトリーは、存在しない場合に自動的に作成されます。expiredLocationパラメーターは、期限切れデータ用の場所を指定します。ディレクトリーには、パージされる前の期限切れデータが含まれます。ディレクトリーは、存在しない場合に自動的に作成されます。sharedパラメーターは、キャッシュストアを共有するかどうかを指定します。LevelDB キャッシュストアでこのパラメーターに対してサポートされる唯一の値はfalseです。preloadパラメーターは、キャッシュストアをプリロードするかどうかを指定します。有効な値はtrueとfalseです。
jpaStore 要素
persistenceUnitName属性は、JPA キャッシュストアの名前を指定します。entityClassName属性は、キャッシュエントリー値を格納するために使用する JPA エントリーの完全修飾クラス名を指定します。batchSize(オプション) 属性は、キャッシュストアストリーミングのバッチサイズを指定します。この属性のデフォルト値は100です。storeMetadata(オプション) 属性は、キャッシュストアがメタデータ (失効やバージョンに関する情報など) を保持するかどうかを指定します。この属性のデフォルト値はtrueです。
binaryKeyedJdbcStore 要素、stringKeyedJdbcStore 要素、および mixedKeyedJdbcStore 要素
fetchPersistentStateパラメーターは、クラスターへ参加する時に永続状態が取り込まれるかを決定します。クラスター環境でレプリケーションとインバリデーションを使用している場合は、これをtrueに設定します。さらに、複数のキャッシュストアがチェーンされている場合、1 つのキャッシュストアのみがこのプロパティーを有効に設定できます。共有キャッシュストアが使用されている場合、キャッシュは、このプロパティーがtrueに設定されているにも関わらず、永続状態の転送を許可しません。fetchPersistentStateパラメーターはデフォルトではfalseに設定されます。ignoreModificationsパラメーターは、キャッシュを変更する操作 (例: 配置、削除、消去、保存など) がキャッシュストアに影響を与えるかどうかを決定します。結果として、キャッシュストアは、キャッシュと同期しなくなります。purgeOnStartupパラメーターは、初回起動時にキャッシュがパージされるかどうかを指定します。key2StringMapperパラメーターは、キーをデータベーステーブルの文字列にマップするために使用される Key2StringMapper のクラス名を指定します。
binaryKeyedTable 要素および stringKeyedTable 要素
dropOnExitパラメーターは、シャットダウン時にデータベーステーブルがドロップされるかどうかを指定します。createOnStartパラメーターは、スタートアップ時にストアによってデータベーステーブルが作成されるかどうかを指定します。prefixパラメーターは、キャッシュバケットテーブルの名前を作成する際に、ターゲットキャッシュの名前に付与される文字列を定義します。
idColumn 要素、dataColumn 要素、および timestampColumn 要素
nameパラメーターは、使用される列の名前を指定します。typeパラメーターは、使用される列のタイプを指定します。
store 要素
classパラメーターは、キャッシュストア実装のクラス名を指定します。preloadパラメーターは、起動中にエントリーをキャッシュにロードするかどうかを指定します。このパラメーターの有効な値はtrueとfalseです。sharedパラメーターは、キャッシュストアを共有するかどうかを指定します。これは、複数のキャッシュインスタンスがキャッシュストアを共有する場合に使用されます。このパラメーターに有効な値はtrueとfalseです。
property 要素
nameパラメーターは、プロパティーの名前を指定します。valueパラメーターは、プロパティーの値を指定します。