とある移行案件で必要になったのでえいやと書いた。
github.com/fujiwara/ktlog2memcached
以下の記事にあるように、KyotoTycoonは更新ログを外部から取得することができるので、これを用いてKTへの書き込み内容を別のストレージに反映するようなことができます。
http://fallabs.com/blog-ja/promenade.cgi?id=115
使い方
$ ktremotemgr slave -ts `date +%s000000000` -uw | ktlog2memcached --host 127.0.0.1 --port 11211 [--use-flag]
ktremotemgr slave で出力される更新ログを標準入力から流してやると、それをparseして引数で指定された memcached に set, delete, flush_all を発行します。
--use-flag オプションは、KT を memcached plugin を使用して起動し、memcached client からアクセスしていた場合には flag (memcached protocolの) がデータ末尾に記録されているので、それを Perl の Cache::Memcached と同様に認識し、圧縮の展開とシリアライズされた構造化データのデシリアライズを行うオプションです。