memcachedのかわりにInfinispanを使う

さて、分散データグリッドのInfinispanですが、いまだにInterspinとかInfospamとかInfinispecとか、名前なんだったか覚えてないですって話じゃなくて、代表的メモリキャッシュであるmemcachedと同じインタフェースをもってるんでmemcachedの代わりにつかってみましょうという話です。


memcachedプロトコルで接続するためには、プロトコルにhotrodではなくてmemcachedと指定してサーバーを起動します。

> bin/startServer.sh -r memcached


で、接続してみます。
今回はspymemcachedというJavamemcachedクライアントライブラリを使ってみます。
ここから、memcached-2.5.jarをダウンロードしてクラスパスに通します。
http://code.google.com/p/spymemcached/


そしたら、こんなプログラムを実行してみます。

import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;

public class MemcachedSetSample {
    public static void main(String[] args) throws IOException{
        MemcachedClient mc = new MemcachedClient(new InetSocketAddress("localhost", 11211));
        
        mc.set("ttt", 10, "hoge");
        mc.shutdown();
    }
}


そのあと、こんなコードを実行します。

import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;

public class MemcachedGetSample {
    public static void main(String[] args) throws IOException{
        MemcachedClient mc = new MemcachedClient(new InetSocketAddress("localhost", 11211));
        
        System.out.println(mc.get("ttt"));
        mc.shutdown();
    }
}


そうすると、ちゃんとデータ格納されていることがわかります。

hoge


最初のsetのときの第二引数はキャッシュの寿命を秒数であらわしているので、もたもたしてると消えます。

null


もちろん、PHPRubyなどからも使えるはずです。
便利。