Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

[mysql][mycached]mycachedがmsgpack対応してた

$
0
0

mycachedを入れようと思ってtrunkのコード見てたら、mycachedのレスポンス形式にmsgpackが追加されてた。知らなかった。

msgpack-0.4.3のインストール。

cd /usr/local/src
wget http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.4.3.tar.gz
tar zxvf msgpack-0.4.3.tar.gz
cd msgpack-0.4.3
./configure && make && make install

mycachedのインストール。

cd /usr/local/src
svn co http://svn.coderepos.org/share/platform/mysql/mycached/trunk mycached
cd mycached
g++ -DMYCACHED_USE_EPOLL=1 -DMSGPACK=1 -shared -fPIC -Wall -g -O2 -I../mysql-5.1.50/include -I../mysql-5.1.50/sql -I../mysql-5.1.50/regex mycached_as_udf.cc -o mycached_as_udf.so
install -m 755 mycached_as_udf.so /usr/local/mysql/lib/mysql/plugin
/usr/local/mysql/bin/mysql -u root -e "CREATE FUNCTION mycached_start RETURNS INT SONAME 'mycached_as_udf.so'"
/usr/local/mysql/bin/mysql -u root -e "CREATE FUNCTION mycached_stop RETURNS INT SONAME 'mycached_as_udf.so'"
/usr/local/mysql/bin/mysql -u root -e "SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4);"

動作確認しててgetできないテーブルがあったのでコード見てみたら、今のところmycachedはPRIMARY KEYがintじゃないとダメらしい。

msgpackのレスポンスがバイナリなのでコピペがうまくいってないけど、msgpackがデータサイズ18バイトで一番効率がよい。

% telnet localhost 11211
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get test.t1.1
VALUE test.t1.1 0         20
id:1:1message:4:hoge
END
get test.t1.1:json
VALUE test.t1.1 0         25
{"id":1,"message":"hoge"}
END
get test.t1.1:msgpack
VALUE test.t1.1 0         18
��id�message�hoge
END

PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>