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()を使用します。