16.1.1 キャッシュへのアクセスとデータ操作の流れ
キャッシュへのアクセスとデータ操作の流れについて説明します。
- 〈この項の構成〉
(1) Java言語を使用する場合のソースプログラムの例
Java言語を使用する場合のソースプログラムの例(keyとvalueを格納する場合)を次に示します。
// EADSが提供するパッケージをインポートする import com.hitachi.software.xeads.client.api.*; public class PutSample { public static void main(String[] args) { // EADSクライアントの初期設定をする final String CONFPATH = "./conf/eads_sample_client.properties"; final String CACHENAME = "cache1"; CacheManager cacheManager = null; Cache cache = null; try { cacheManager = CacheManager.create(CONFPATH); // キャッシュへのアクセスを開始する cache = cacheManager.getCache(CACHENAME); System.out.println("cache start succeeded. (cache name = " + CACHENAME + ")"); // keyとvalueを格納する final String KEY = "key1"; final String VALUE = "value1"; cache.put(KEY, VALUE); System.out.println("PUT succeeded. (key = " + KEY + ", value = " + VALUE + ")"); String value = (String)cache.get(KEY); System.out.println("GET succeeded. (key = " + KEY + ", value = " + value + ")"); } catch (CacheException e) { System.out.println("cache operation failed.(cache name = " + CACHENAME + ", error code = " + e.getErrorCode() + ")"); }finally{ if(cacheManager != null){ // キャッシュへのアクセスを終了する if(cache != null){ try{ cacheManager.removeCache(CACHENAME); System.out.println("cache stop succeeded. (cache name = " + CACHENAME + ")"); }catch(CacheException e){ System.out.println("CacheManager.removeCache() failed. (error code = " + e.getErrorCode() + ")"); } } // EADSクライアントの使用を終了する try{ cacheManager.destroy(); }catch(CacheException e){ System.out.println("CacheManager.destroy() failed. (error code = " + e.getErrorCode() + ")"); } } } } }
(2) EADSが提供するパッケージをインポートする
EADSが提供する次のパッケージをインポートします。
import com.hitachi.software.xeads.client.api.*;
(3) EADSクライアントの初期設定をする
EADSクライアントの初期設定をするには,CacheManagerクラスのcreate()を使用して,CacheManagerクラスのインスタンスを生成します。
クライアント定義に従って,接続先EADSサーバなどが設定されます。
複数のクラスタと同時に接続するなど,設定の異なる複数のCacheManagerクラスのインスタンスを同時に使用したい場合は,クライアント定義を変更してCacheManagerクラスのcreate()を複数回実行します。複数回実行した場合は,取得した各CacheManagerクラスのインスタンスに対してCacheManagerクラスのdestroy()を実行して,EADSクライアントの使用を終了してください。
(4) キャッシュへのアクセスを開始する
EADSクライアントの初期設定が完了したら,キャッシュへのアクセスを開始します。
キャッシュへのアクセスを開始するには,CacheManagerクラスのgetCache()を使用して,データを操作するためのインスタンス(Cacheクラスのインスタンス)を生成します。
(5) keyとvalueを格納する
キャッシュにkeyとvalueを格納するには,Cacheクラスのput()を使用します。
put()には,キャッシュに格納するkeyとvalueを指定します。
(6) valueを取得する
キャッシュからvalueを取得するには,Cacheクラスのget()を使用します。
get()には,取得するvalueに関連づけられたkeyを指定します。
get()によってvalueの取得が成功すると,戻り値としてkeyに関連づけられたvalueが返却されます。
valueを取得する場合のソースプログラムの例を次に示します。
ソースプログラムの例(valueを取得する場合)
// valueを取得する final String KEY = "key1"; try { String value = (String) cache.get(KEY); System.out.println("GET succeeded. (key = " + KEY + ", value = " + value + ")"); } catch (CacheException e) { int errcode = e.getErrorCode(); System.out.println("GET failed. (key = " + KEY + ", error code = " + errcode + ")"); }
(7) keyとvalueを削除する
キャッシュから指定したkey,およびkeyに関連づけられたvalueを削除するには,Cacheクラスのremove()を使用します。
remove()には,削除するvalueに関連づけられたkeyを指定します。
(8) ユーザファンクションを実行する
ユーザファンクションを実行するには,executeFunction()を使用します。
executeFunction()には,ユーザファンクションを実行するkeyまたはグループ名,もしくはNodeクラスのインスタンス,実行するユーザファンクション名,およびユーザファンクションに渡す引数を指定します。
executeFunction()によってユーザファンクションが実行されると,ユーザファンクションの実行結果が返却されます。
(9) キャッシュへのアクセスを終了する
キャッシュへのアクセスを終了するには,CacheManagerクラスのremoveCache()を使用します。
removeCache()には,アクセスを終了するキャッシュ名を指定します。
(10) EADSクライアントの使用を終了する
EADSクライアントの使用を終了するには,CacheManagerクラスのdestroy()を使用します。