isseium's blog

田舎に住むWebエンジニアのブログ

yum でインストールした TokyoCabinet, TokyoTyrant をPHPで使ってみた

ふとしたことから、TokyoCabinet, TokyoTyrant をつかってみようと思いました。
で、他の文献とかをみると、ソースコンパイルが多いんですね。
今回はyum に任せて行いました。

TokyoCabinet, TokyoTyrantのインストール

$ sudo yum install tokyocabinet tokyocabinet-devel tokyo_tyrant tokyo_tyrant-devel

PECL tokyotyrant のインストール

どうやらPECLに便利なものがあるらしいのでインストール

$ sudo pecl install tokyo_tyrant-beta
$ vi /etc/php.d/tokyo_tyrant.ini
extension=tokyo_tyrant.so
$ sudo /etc/init.d/tokyotyrant start
$ sudo /etc/init.d/httpd restart

動作確認

以下のファイルを適当なところに作成&実行して「some value」が表示されるとOK

$ vi tokyo_test.php
<?php
$tt = new TokyoTyrant('localhost', 1978);
$tt->put('some_key', 'some_value');
echo $tt->get('some_key');

$ php tokyo_test.php
some_value

他の文献との対応表

ソースコンパイルから行っている文献との対応表です

ソースコンパイル yum
ttservctl /etc/init.d/tokyotyrant

(以下、随時追記)

コンフィグファイル

/etc/sysconfig/tokyotyrant
にあります。
/etc/init.d/tokyotyrant を直接いじるのではなくて、できるだけこちらをいじりましょう

はまりどころ

テーブルデータベースを使おうとして、/etc/init.d/tokyotyrant をいじってて、はまった。
テーブルデータベースを使う場合は、データベース名を

DATABASE="$basedir/casket.tch#bnum=1000000"
から
DATABASE="$basedir/casket.tct#bnum=1000000"

に変える必要があるんだけど、/etc/init.d/tokyotyrant 内で変えると、その下でコンフィグファイルが呼ばれて、変更したDATABASEが上書き(元通り)されてた。