2011年2月20日日曜日

groovyとmemcached-java-clientでキャッシュをダンプする

groovyとmemcached-java-clientでキャッシュをダンプするには、以下のコードを実行します。

import com.danga.MemCached.*

// memcachedに接続
siop = SockIOPool.getInstance()
siop.setServers(["192.168.1.25:11211"] as String[])
siop.initialize()
mcc = new MemCachedClient()

slabs = [] as Set
servers = mcc.statsSlabs()
servers.each { server, stats ->
// slab番号を取得
stats.each { key, value ->
if( key.indexOf(':') != -1 ){
slabs.add(Integer.parseInt(
key.substring(0, key.indexOf(':'))
))
}
}
}
for( slab in slabs ){
// キャッシュダンプ
cdr = mcc.statsCacheDump(slab, 10000/*= limit */)
cdr.each { server, caches ->
println "server : ${server}"
caches.each { key, value ->
println "$key : $value"
}
}
}

※java_memcached-release_2.5.2.jarをGROOVY_HOME/libにコピーしておく。

動作環境
JDK6 Update 23, groovy 1.7.6, Memcached-Java-Client 2.5.2

関連情報
groovyとjava-memcached-clientのまとめ

0 件のコメント:

コメントを投稿