jmemcachedはJavaベースのmemcachedサーバです。実用というよりも、Javaでmemcachdを使うようなアプリケーションを開発する際にローカル開発環境やCIなどテスト用途に使うのがよいと思います。
Mavenを使う場合はこんな感じ。
<repositories> <repository> <id>thimbleware.repo</id> <url>http://thimbleware.com/maven</url> </repository> </repositories> ... <dependency> <groupId>com.thimbleware.jmemcached</groupId> <artifactId>jmemcached-core</artifactId> <version>0.9.1</version> </dependency>
Mavenを使わない場合はダウンロードページからjmemcached-core-0.8.jarをダウンロードします。またJBoss Nettyとslf4jが必要になるので個別にJARファイルをダウンロードしてクラスパスに追加します。
起動・停止はこんな感じ。
MemCacheDaemon daemon = new MemCacheDaemon(); LRUCacheStorageDelegate cacheStorage = new LRUCacheStorageDelegate(1000, 1024, 1024000); daemon.setCache(new Cache(cacheStorage)); // ポート番号を指定 daemon.setAddr(new InetSocketAddress(11211)); // 起動 daemon.start(); // 停止 daemon.stop();
getsやcasも実装されているっぽいのですが、memcached client for javaでアクセスすると、getsはできるけどcasでエラーになってしまいました。バージョンの整合性の問題か、jmemcachedの問題か、memcached client for javaの問題なのか?についてはまだ調べてません。