kyotocabinet kyototycoonをインストールしてluaでスクリプト追加してみる。
centos 6です。
zlibが必要。
luaを入れる。
yum install lua lua-devel
最新のパッケージをダウンロードします。
http://fallabs.com/kyotocabinet/
http://fallabs.com/kyototycoon/
//fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
//http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz
./configure
make
make install
で。
kyototycoonには、./configure –enable-lua とオプションを付ける。
checking for lua.h… yesが入る。
make; make install
# vim /etc/ld.so.conf.d/ktserver.conf
/usr/local/libを追加。
/sbin/ldconfig -v
libkyototycoon.so.2 -> libkyototycoon.so.2.19.0
libkyotocabinet.so.16 -> libkyotocabinet.so.16.13.0
こんな感じで。
とりあえず動かす。
http://fallabs.com/blog-ja/promenade.cgi?id=98
http://fallabs.com/blog-ja/promenade.cgi?id=97
2012-07-13T00:09:58.827516+09:00: [SYSTEM]: ================ [START]: pid=23909
2012-07-13T00:09:58.827702+09:00: [SYSTEM]: opening a database: path=:
2012-07-13T00:09:58.828011+09:00: [SYSTEM]: starting the server: expr=:50311
2012-07-13T00:09:58.828056+09:00: [ERROR]: socket error: expr=:50311 msg=invalid address expression
2012-07-13T00:09:59.328305+09:00: [SYSTEM]: closing a database: path=:
2012-07-13T00:09:59.332731+09:00: [SYSTEM]: ================ [FINISH]: pid=23909
なんだかポート番号でエラー。
ktsocket.cc
servseterrmsg(core, “invalid address expression”);
return false;
}
ぱっと見 UINT16MAXにしても大丈夫かなと2カ所をUINT16MAXへ変更。
無事2個起動に成功^。^
total 16
-rw-r–r– 1 root root 6297720 Jul 13 00:28 aaid.kch
-rw-rw-rw- 1 root root 980 Jul 13 00:28 log
-rw-r–r– 1 root root 6 Jul 13 00:28 pid
-rw-r–r– 1 root root 6297720 Jul 13 00:28 user.kch
http://fallabs.com/kyototycoon/luadoc/
phpからは、curlで
http://fallabs.com/blog-ja/promenade.cgi?id=99
今回やること
http://fallabs.com/blog-ja/promenade.cgi?id=100
http://fallabs.com/blog-ja/promenade.cgi?id=124
こんな感じで2個dbを使って2方向インデックスする
luaを追加してplay_scriptしてみる。
続きはこちら