php-memcached-dev/php-memcachedをforkしたmsgpack-and-snappyブランチで、シリアライズ方式にMessagePackを、圧縮方式にSnappyを選べるようにした。→GitHub
MessagePackを使うにはPECL msgpackをインストールした上で、configureのオプションに --enable-memcached-msgpack
を、Snappyを使うにはSnappyをインストールした上で --with-snappy-dir
を付ければよい。
MacPortsでライブラリを入れている場合の例:
phpize
./configure \
--enable-memcached \
--enable-memcached-msgpack \
--with-libmemcached-dir=/opt/local \
--with-snappy-dir=/opt/local \
--with-zlib-dir=/opt/local
make
make install
今のところMessagePackシリアライザはデフォルトで有効に、Snappyコンプレッサは Memcached::setOption(Memcached::OPT_COMPRESSION_TYPE, Memcached::COMPRESSION_SNAPPY)
で有効にする仕様。
もうちょい寝かしたら本家にpull requestを送る。
MessagePack+Snappyと、その他の組み合わせでベンチマークを取ってくださるお方を募集しております。