2、安装lua脚本,注意这里不能通过yum的方式安装,否则后面装tt时会提示找不到lua.h文件:
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
make linux
make install
make linux
make install
安装过程中一般会报错如下:
luaconf.h:275:31: error: readline/readline.h: No such file or directory
luaconf.h:276:30: error: readline/history.h: No such file or directory
luaconf.h:276:30: error: readline/history.h: No such file or directory
通过yum安装readline-devel即可:
yum install readline-devel
3、安装TC、TT和TC的lua扩展,注意的是如果要使用LUA接口,那么编译TT的时候要加--enable-lua参数:
[root@localhost tctt]# tar zxvf tokyocabinet-1.4.47.tar.gz
[root@localhost tctt]# cd tokyocabinet-1.4.47
[root@localhost tokyocabinet-1.4.47]# ./configure
[root@localhost tokyocabinet-1.4.47]# make
[root@localhost tokyocabinet-1.4.47]# make install
[root@localhost tctt]# tar zxvf tokyocabinet-lua-1.9.tar.gz
[root@localhost tokyocabinet-lua-1.9]# make
[root@localhost tokyocabinet-lua-1.9]# make install
[root@localhost tctt]# tar zxvf tokyotyrant-1.1.41.tar.gz
[root@localhost tctt]# cd tokyotyrant-1.1.41
[root@localhost tokyotyrant-1.1.41]# ./configure --enable-lua
[root@localhost tokyotyrant-1.1.41]# make
[root@localhost tokyotyrant-1.1.41]# make install
[root@localhost tctt]# cd tokyocabinet-1.4.47
[root@localhost tokyocabinet-1.4.47]# ./configure
[root@localhost tokyocabinet-1.4.47]# make
[root@localhost tokyocabinet-1.4.47]# make install
[root@localhost tctt]# tar zxvf tokyocabinet-lua-1.9.tar.gz
[root@localhost tokyocabinet-lua-1.9]# make
[root@localhost tokyocabinet-lua-1.9]# make install
[root@localhost tctt]# tar zxvf tokyotyrant-1.1.41.tar.gz
[root@localhost tctt]# cd tokyotyrant-1.1.41
[root@localhost tokyotyrant-1.1.41]# ./configure --enable-lua
[root@localhost tokyotyrant-1.1.41]# make
[root@localhost tokyotyrant-1.1.41]# make install
至此就安装完成了,整个过程很简单,当然安装过程可能需要一些其他的程序包,可以根据提示进行安装即可。
TT提供了很多命令行工具来管理数据库,比较常用的两个是ttserver和tcrmgr。
Ttserver的用法如下:
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-kl] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [-rcc] [-skel name] [-mul num] [-ext path] [-extpc name period] [-mask expr] [-unmask expr] [dbname]
各个参数的说明可查看官方文档,这里就不一一列举了。我们可以建立一个hash table类型和一个B+ tree类型的数据库:
ttserver -host 192.168.0.35 -port 11301 -thnum 8 -dmn -pid /home/tc/test_data/test_data_b.pid -log /home/tc/test_data/test_data_b.log -le -ulog /home/tc/test_data/ -ulim 128m -sid 1 -rts /home/tc/test_data/test_data_b.rts /home/tc/test_data/test_data.tcb
ttserver -host 192.168.0.35 -port 11302 -thnum 8 -dmn -pid /home/tc/test_data/test_data_t.pid -log /home/tc/test_data/test_data_t.log -le -ulog /home/tc/test_data/ -ulim 128m -sid 1 -rts /home/tc/test_data/test_data_t.rts /home/tc/test_data/test_data.tct
ttserver -host 192.168.0.35 -port 11302 -thnum 8 -dmn -pid /home/tc/test_data/test_data_t.pid -log /home/tc/test_data/test_data_t.log -le -ulog /home/tc/test_data/ -ulim 128m -sid 1 -rts /home/tc/test_data/test_data_t.rts /home/tc/test_data/test_data.tct
注意最后一个参数的扩展名tcb和tct决定了数据库的类型分别是B+ tree和table。
通过tcrmgr命令行工具可以管理远程数据库,比如我们要查看key为1的记录可以这样操作: