PHP操作tokyo Cabinet

Posted: 2009年4月22日星期三
上篇我介绍了tokyo Cabinet,这篇我介绍通过php操作tokyo cabinet。需要的工具有php扩展模块Net_Tokyo_Tyrant,Tokyo Tyrant。

首先安装Tokyo Cabinet,安装方法

curl -O http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.16.tar.gz
./configure
make
make install

安装tokyotyrant

curl -O http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.23.tar.gz
./configure
make
make install


为php添加Net_Tokyo_Tyrant模块

/usr/local/php/bin/pear channel-discover openpear.org
/usr/local/php/bin/pear install openpear/Net_TokyoTyrant-beta

现为beta版,当有正式版请使用

/usr/local/php/bin/pear install openpear/Net_TokyoTyrant


启动服务

/usr/local/sbin/ttservctl start

说明:启动后的监听的端口为1978

编写php文件

include_once 'Net/TokyoTyrant.php';
$tt = new Net_TokyoTyrant();
$tt->connect( 'localhost', 1978 );
$tt->put('test', 'PHP connet to Tokyo cabinet');
echo $tt->get('test');

$tt->close();
?>

执行刚刚的php文件,你将看到如下的文字
PHP connet to Tokyo cabinet
以上就完成第一个php对Tokyo cabinet的操作
当在memcache中保存数据时,重启memcache服务,所有的数据全部丢失
当在tokyo cabinet中保存数据时,服务器重启数据不丢失。
下面通过一个例子证明这点
/usr/local/sbin/ttservctl restart
编写php文件

include_once 'Net/TokyoTyrant.php';
$tt = new Net_TokyoTyrant();
$tt->connect( 'localhost', 1978 );
//$tt->put('test', 'PHP connet to Tokyo cabinet');
echo $tt->get('test');

$tt->close();
?>

执行php脚本,得到的结果还是
PHP connet to Tokyo cabinet
说明它的数据全部保存在磁盘上而不是内存中。
下期将推出,比较memcache与tokyo cabinet的执行效率

0 评论: