Kyoto TycoonをJavaから利用する
Kyoto tycoonのセットアップは、以前のエントリを参照
Kyoto Tycoonの起動
memcachedプラグインを有効にして起動します。ktserver -plsv /usr/local/libexec/ktplugservmemc.so -plex 'port=22222' test.kch
Xmemcachedというライブラリを使います。
参考:
Xmemcachedのダウンロード
JavaプログラムからKestrelを利用するために、Xmemcachedというmemcached用のライブラリを利用します。http://code.google.com/p/xmemcached/downloads/list からxmemcached-1.3.5-bin-with-dependencies.tar.gz をダウンロードして利用します。
利用プログラム例
String hostname = "localhost";
String port = "22222";
int expiration_time = 0;
XMemcachedClientBuilder builder = new XMemcachedClientBuilder(
AddrUtil.getAddresses(hostname + ":" + port));
builder.setTranscoder(new TokyoTyrantTranscoder());
MemcachedClient client = builder.build();
ArrayList<String> keylist = new ArrayList<String>();
try{
// set data
System.out.println("set data");
for(Integer i = 0; i != 5; i++){
String value = "value" + i;
client.set(i.toString() , expiration_time, value);
keylist.add(i.toString());
}
// get data
// bulk get
System.out.println("bulk get");
Map<String, Object> valuemap = client.get(keylist);
for(Integer i =0; i != 5; i++){
System.out.println(valuemap.get(keylist.get(i)));
}
// single get
System.out.println("single get");
for(Integer i=0; i != 5; i++){
String value = client.get(i.toString());
System.out.println(value);
}
// delete data
System.out.println("delete data from db");
for(Integer i=0; i != 5; i++){
client.delete(i.toString());
}
} catch (TimeoutException e) {
// memcached operation timeout
e.printStackTrace();
} catch (InterruptedException e) {
// ignore
//e.printStackTrace();
} catch (MemcachedException e) {
// memcached operation fail
e.printStackTrace();
}
Tags: centos, db, kyoto_tycoon, server
Twitter:
facebook:
flickr: 