10.2. デフォルトキャッシュの使用

10.2.1. キャッシュのデータ追加および削除

Red Hat JBoss Data Grid は、キャッシュに格納されたデータにアクセスして変更を行うため、提案されている JSR-107 API と似たインターフェースを提供します。
次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順10.2 キャッシュのデータ追加および削除

  1. エントリーを追加し、keyvalue を希望のキーと値に置き換えます。
    cache.put("key", "value");
  2. キャッシュにエントリーが存在することを確認します。
    assertEquals(1, cache.size());
    assertTrue(cache.containsKey("key"));
  3. キャッシュからエントリーを削除します。
    Object v = cache.remove("key");
  4. エントリーがキャッシュに存在しないことを確認します。
    assertEquals("value", v);
    assertTrue(cache.isEmpty());

10.2.2. キー値の追加と置換

Red Hat JBoss Data Grid はスレッドセーフなデータ構造を提供します。
次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順10.3 キー値の追加と置換

  • value をキーの値とするエントリー key を追加します。
    cache.put("key", "value");

手順10.4 キー値の置換

  1. 次のコードは、key および key2 という名前のキーを検索します。検索した 2 つのキーが見つからなかった場合、JBoss Data Grid は指定のキー名と値を持つ 2 つの新しいキーを作成します。
    cache.putIfAbsent("key", "newValue");
    cache.putIfAbsent("key2", "value2");
  2. 以下のコードは、格納されたキーの値が格納したい値と同じであることを確認します。
    assertEquals(cache.get("key"), "value");
    assertEquals(cache.get("key2"), "value2");

10.2.3. データライフの調整

デフォルトでは、Red Hat JBoss Data Grid のエントリーは期限なし (immortal) ですが、この設定は変更できます。
次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順10.5 データライフの調整

  1. キーの lifespan 値を変更します。
    cache.put("key", "value", 5, TimeUnit.SECONDS);
  2. キャッシュにキーが含まれていることを確認します。
    assertTrue(cache.containsKey("key"));
  3. 割り当てられた lifespan 時間が期限切れになると、キーはキャッシュから削除されます。
    Thread.sleep(10000);
    assertFalse(cache.containsKey("key"));

10.2.4. デフォルトのデータ期限

デフォルトでは、新規に作成されたエントリーにはライフスパンや最大アイドル時間値セットがありません。これらの 2 つの値がない場合、データエントリーは永久に期限切れにならないため、期限なし (immortal) データと呼ばれます。

10.2.5. XML を用いた名前付きキャッシュの登録

プログラムを使用せずに、名前付きキャッシュを宣言的に (XML を使用) 設定するには、infinispan.xml ファイルを設定します。
infinispan.xml ファイルは infinispan-quickstart/embedded-cache/src/main/resources フォルダーの https://github.com/infinispan/infinispan-quickstart にあります。