Debian下PHP的Tokyo Tyrant安装配置及测试

1.安装及配置
在页面
http://pecl.php.net/package/tokyo_tyrant 可以找到php的tt扩展最新稳定版本。

tokyo_tyrant extension provides object oriented API for communicating
with Tokyo Tyrant key-value store.

This extension requires Tokyo Cabinet, Tokyo Tyrant and PHP version 5.2.0+.

php的tt扩展在github.com有一个主页,
http://github.com/mkoppanen/php-tokyo_tyrant

debian:/home/software# wget http://pecl.php.net/get/tokyo_tyrant-0.5.0.tgz
--2010-09-07 17:38:32--  http://pecl.php.net/get/tokyo_tyrant-0.5.0.tgz
Resolving pecl.php.net... 76.75.200.106
Connecting to pecl.php.net|76.75.200.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26903 (26K) [application/octet-stream]
Saving to: `tokyo_tyrant-0.5.0.tgz'

100%[===============================================>] 26,903      36.5K/s   in 0.7s    

2010-09-07 17:38:34 (36.5 KB/s) - `tokyo_tyrant-0.5.0.tgz' saved [26903/26903]

debian:/home/software# tar zxvf tokyo_tyrant-0.5.0.tgz
phpize
./configure
make && make install

安装完成以后,在php.ini里面增加一行extension = tokyo_tyrant.so,然后tt扩展就生效了。
debian:/home/software# php -m | grep tokyo
tokyo_tyrant

2.测试
debian:/home/php# vi tt.php 
<?php
$tt = new TokyoTyrant("localhost");
$tt->put("language", "C/C++");
echo 'language:' . $tt->get("language") . "/n";

echo 'The count of records is:' . $tt -> num() . "/n";

print_r($tt -> stat());

$it = $tt -> getIterator();
foreach ($it as $key => $val) {
    echo "key: $key, val: $val/n";
}
?>

debian:/home/php# telnet localhost 1978
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get language
VALUE language 0 5
C/C++
END

debian:/home/php# php tt.php | more
language:C/C++
The count of records is:498
Array
(
    [version] => 1.1.40
    [libver] => 323
    [protver] => 0.91
    [os] => Linux
    [time] => 1283855111.219663
    [pid] => 1824
    [sid] => 0
    [type] => hash
    [path] => /home/ttserver/database.tch
    [rnum] => 498
    [size] => 568784
    [bigend] => 0
    [fd] => 7
    [loadavg] => 0.150000
    [memsize] => 145842176
    [memrss] => 2265088
    [ru_user] => 0.596037
    [ru_sys] => 30.269891
    [ru_real] => 3065.307271
    [cnt_put] => 6
    [cnt_putkeep] => 0
    [cnt_putcat] => 0
    [cnt_putshl] => 0
    [cnt_putnr] => 0
    [cnt_out] => 0
    [cnt_get] => 1003
    [cnt_mget] => 0
    [cnt_vsiz] => 0
    [cnt_iterinit] => 4
    [cnt_iternext] => 998
    [cnt_fwmkeys] => 0
    [cnt_addint] => 0
    [cnt_adddouble] => 0
    [cnt_ext] => 0
    [cnt_sync] => 0
    [cnt_optimize] => 0
    [cnt_vanish] => 0
    [cnt_copy] => 0
    [cnt_restore] => 0
    [cnt_setmst] => 0
    [cnt_rnum] => 2
    [cnt_size] => 0
    [cnt_stat] => 1
    [cnt_misc] => 0
    [cnt_repl] => 0
    [cnt_put_miss] => 0
    [cnt_out_miss] => 0
    [cnt_get_miss] => 0
)
key: metaData_default_1, val: {"songname":"bb","specialname":"cc"}
key: metaData_default_2, val: {"songname":"bb","specialname":"cc"}
key: metaData_default_3, val: {"songname":"cc","specialname":"cc"}
key: metaData_default_4, val: {"songname":"dd","specialname":""}
key: metaData_default_5, val: {"songname":"ee","specialname":"ee"}
key: top_item_default, val: [{"songid":"1","songname":"bb","specialname":"cc"},{"songid":
"2","songname":"bb","specialname":"cc"},{"songid":"3","songname":"cc","specialname":"cc"}
,{"songid":"4","songname":"dd","specialname":""},{"songid":"5","songname":"ee","specialna
me":"ee"}]
.....

PHP的Tokyo Tyrant扩展还有一个很酷的功能,就是可以遍历TT中的所有数据 。如果用PHP的memcache或memcached扩展来操作TT,是无法遍历TT里面的数据的,这个功能很有用处的,当需要对TT中的所有或部分数据进行批量操作时,这个功能就起作用了,如果你正需要此功能,不妨试一试。
memcached中的数据是可以遍历的 ,通过命令行也可以,通过php程序也可以(前提是要安装php的memcache扩展)。

此扩展还提供TokyoTyrantTable、TokyoTyrantQuery两个类分别用来操作TC的Table Database。

更多的API可以查看
http://cn.php.net/manual/en/book.tokyo-tyrant.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值