2.2. キャッシュの取得
CacheManagerを設定した後、キャッシュを取得および制御できます。
getCache() メソッドを呼び出して、以下のようにキャッシュを取得します。
Cache<String, String> myCache = manager.getCache("myCache");
上記の操作は、myCacheという名前のキャッシュがまだ存在しない場合は作成し、それを返します。
getCache()メソッドを使用すると、メソッドを呼び出すノードにのみキャッシュが作成されます。つまり、クラスター全体の各ノードで呼び出す必要のあるローカル操作を実行します。通常、複数のノードにまたがってデプロイされたアプリケーションは、初期化中にキャッシュを取得して、キャッシュが対称であり、各ノードに存在することを確認します。
createCache() メソッドを呼び出して、以下のようにクラスター全体でキャッシュを動的に作成します。
Cache<String, String> myCache = manager.administration().createCache("myCache", "myTemplate");
上記の操作では、後でクラスターに参加するすべてのノードにキャッシュが自動的に作成されます。
createCache()メソッドを使用して作成するキャッシュは、デフォルトでは一時的です。クラスタ全体がシャットダウンした場合、再起動時にキャッシュが自動的に再作成されることはありません。
PERMANENT フラグを使用して、以下のようにキャッシュが再起動後も存続できるようにします。
Cache<String, String> myCache = manager.administration().withFlags(AdminFlag.PERMANENT).createCache("myCache", "myTemplate");
PERMANENT フラグを有効にするには、グローバルの状態を有効にし、設定ストレージプロバイダーを設定する必要があります。
設定ストレージプロバイダーの詳細は、GlobalStateConfigurationBuilder#configurationStorage()を参照してください。