安装
- tokyocabinet-1.4.47.tar.gz(数据库)
- tokyotyrant-1.1.41.tar.gz(网络接口)
- tokyo_tyrant-0.6.0.tgz(PHP扩展)安装tokyocabinet
#tar -zxvf tokyocabinet-1.4.47.tar.gz
#cd tokyocabinet-1.4.47
#./configure --prefix=/usr/local/tokyocabinet
#make
#make install
安装tokyotyrant
#tar -zxvf tokyotyrant-1.4.47.tar.gz
#cd tokyotyrant-1.4.47
#./configure --prefix=/usr/local/tokyotyrant
#make
#make install
启动TT
#mkdir /var/ttserver-1978
#chmod -R 777 /var/ttserver-1978
#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
basedir="/var/ttserver"
->
basedir="/var/ttserver-1978"
===
#/usr/local/tokyotyrant/sbin/ttservctl start
安装tokyo_tyrant
#tar -zxvf tokyo_tyrant-0.6.0.tgz
#cd tokyo_tyrant
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --with-tokyo-tyrant=/usr/local/tokyotyrant --with-tokyo-cabinet-dir=/usr/local/tokyocabinet
#make
#make install
需要配置php
#vi /usr/local/php/etc/php.ini
// 添加如下
[totyr_tyrant]
extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/tokyo_tyrant.so";
fastcgi方式安装php,重启php
#pkill -o php-fpm
#/usr/local/php/sbin/php-fpm
tokyocabinet配置优化
选择数据库类型:TCHDB
- TCHDB的速度是最快的
- 服务器内存可以分配4G给TT,足够使用
配置如下
#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
dbname="$basedir/casket.tch#bnum=1000000"
--->
dbname="$basedir/casket.tch#bnum=20000000#xmsiz=4294967296"
===
#/usr/local/tokyotyrant/sbin/ttservctl stop
#/usr/local/tokyotyrant/sbin/ttservctl start
注释:
bnum:TT算法下放在内存中记录总数
xmsize:分配给TT使用的内存,如果超过该内存,在该数据库类型下的TT性能将急剧下降,单位是B,不是K或者M哦
如果考虑到数据量特别大,可以尝试选择TCBDB,相比TCHDB,速度下降了了很多,同时对内存的需求也下降了很多
配置如下
#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
dbname="$basedir/casket.tch#bnum=1000000"
--->
dbname="$basedir/casket.tch#lmemb=1024#nmemb=2048#bnum=20000000"
===
具体的可以参照附件“dtcc_tc_tt_tcsql.pdf”,张宴写的,如果侵犯了作者的著作权,请第一时间告知,立刻删除
PHP连接tokyocabinet
如果全部安装成功,便可以调用php的tt接口
<?php
/****http://www.php.net/manual/en/class.tokyotyrant.php****
TokyoTyrant::add — Adds to a numeric key
TokyoTyrant::connect — Connect to a database
TokyoTyrant::connectUri — Connects to a database
TokyoTyrant::__construct — Construct a new TokyoTyrant object
TokyoTyrant::copy — Copies the database
TokyoTyrant::ext — Execute a remote script
TokyoTyrant::fwmKeys — Returns the forward matching keys
TokyoTyrant::get — The get purpose
TokyoTyrant::getIterator — Get an iterator
TokyoTyrant::num — Number of records in the database
TokyoTyrant::out — Removes records
TokyoTyrant::put — Puts values
TokyoTyrant::putCat — Concatenates to a record
TokyoTyrant::putKeep — Puts a record
TokyoTyrant::putNr — Puts value
TokyoTyrant::putShl — Concatenates to a record
TokyoTyrant::restore — Restore the database
TokyoTyrant::setMaster — Set the replication master
TokyoTyrant::size — Returns the size of the value
TokyoTyrant::stat — Get statistics
TokyoTyrant::sync — Synchronize the database
TokyoTyrant::tune — Tunes connection values
TokyoTyrant::vanish — Empties the database
Examples:
$tt = new connect($host, $port);
$tt->put($key, $value);
$tt->get($key);
$tt->out($key);
$tt->vanish();
$num = $tt->num();
***************************************************/
修改Linux内核参数,发挥TT性能
1.主要是修改Linux的TCP连接数,可以是TT高并发的特点发挥出来
#sysctl -w net.ipv4.tcp_tw_reuse=1
#sysctl -w net.ipv4.tcp_tw_recycle=1
#sysctl -w net.ipv4.tcp_fin_timeout=10
#sysctl -w net.core.wmem_max=8388608
#sysctl -w net.core.rmem_max=8388608
注释:不需要重启Linux
附件
- tokyocabinet-1.4.47.tar.gz
- tokyotyrant-1.1.41.tar.gz
- tokyo_tyrant-0.6.0.tar.gz(由于iteye不允许上传tgz格式的文件,所以只好修改成tar.gz,下载后请修改回tokyo_tyrant-0.6.0.tgz)
- dtcc_tc_tt_tcsql.pdf(文件内容显示作者张宴,如果侵犯著作权,请第一时间告知,立刻删除)
分享到:
相关推荐
尝试开发PHP的扩展,仅用于学习。目前仅能够在windows下编译通过。 Linux下的tokyo cabinet API与Windows与差别,写的时候是在windows下,准备在linux下编译时才发现tokyo cabinet API在Unix下与Windows下是不一样的
tokyo cabinet tyrant研究资料
Tokyo cabinet C 库的Lua绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个...
Tokyo Cabinet Key-Value数据库及其扩展应用
Tokyo cabinet C 库代码的Java绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。...
Tokyo-Cabinet.tar.gz
东京内阁是QDBM的后继者,QDBM是与DBM系列类似的高性能数据库库。 它还支持哈希和B树数据库,不需要任何服务器进程。 与QDBM相比,整体速度有所提高。
东京橱柜食谱 使用 Chef 安装东京橱柜。 支持的平台 支持以下平台: ...在节点的run_list包含tokyo-cabinet : { " run_list " : [ " recipe[tokyo-cabinet::default] " ] } 作者 作者:坂锐( )
BNR持久性亚伦·希勒加斯(Aaron Hillegass) 2010年7月9日经过几年的抱怨,Core Data可能会变得更好,我认为我应该编写一个...安装首先,您需要下载Tokyo Cabinet: : (有一个sourceforge页面,但是最新的版本似乎
哪吒(Nezha)是中国神话故事里的少年战神,我们以其作为基础Tokyo Cabinet的简单分布式KV存储系统原型项目的代号。 它包含configdb lib(configdb.h / libconfigdb.so)和一个命令行测试程序(Nezha) 执行make ...
东京暴君数据库的客户端封装,使东京暴君可以通过网络连接
Microlog Cabinet Manager 2003 is a utility for opening and creating Microsoft CAB compressed files. CAB is a file compression format used by Microsoft to distribute many of their products, including ...
Tokyo cabinet C库的Perl绑定代码API。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每...
Tokyo cabinet C 库的 Ruby绑定代码API Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每...
罗马食谱使用 Chef 安装 ROMA。 关于启动 ROMA,请阅读 ROMA 网站。 支持的平台支持以下平台: centos 乌本图属性钥匙类型描述默认['罗马']['gem_path'] 细绳选择您使用的宝石/选择/rbenv/垫片/宝石['罗马']['target...
用于发布ActiveX的CabinetSDK
Laravel开发-cabinet Laravel 4文件上传包。
Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当做为Hash表数据库使用时,...
Microsoft Cabinet Templatessource.zip
Cabinet Vision (CV) 板式家具拆单软件 V2021 571中文语言包