安装配置ttserver(tokyocabinet,Tokyo Tyrant)

本文详细介绍了如何在Linux环境下安装配置Tokyo Cabinet和Tokyo Tyrant,包括解决bzip2依赖问题,配置选项以及启动和测试过程,确保能够成功运行ttserver并进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文原创,作者:python中国--老老仙 http://www.okpython.com/bbs
准备软件:
tokyocabinet,Tokyo Tyrant
关联软件,bzip2:
wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
如果不安装的话,在你配置tc,tt的时候,就会报告一个bzip2.h 未定义(bzip2.h no required)的错误信息.
先安装bzip,简单看了下英文文档,里面说只要make install就可以安装了,无需configure,如果需要设定安装配置路径,可以在后面加上--prefix
如:make install prefix=/usr/local/...
OK,一切正常。
接着下载 tc(tokyocabinet)
网上的一些文章提到http://tokyocabinet.sourceforge.net/ 下载,但是下载下来的文件缺少,所以我又花时间找到了一个可信的下载地址:
wget http://blog.s135.com/soft/linux/ ... abinet-1.3.1.tar.gz
wget http://sourceforge.net/projects/ ... .30.tar.gz/download
然后解压,
tar zvxf tokyocabinet-1.4.30.tar.gz
./configure --prefix=/usr/local/tc/
cd tokyocabinet-1.4.30
make && make inistall
一切顺利,继续:
现在安装ttserver了。
wget http://sourceforge.net/projects/ ... .33.tar.gz/download
cd tokyotyrant-1.1.33
./configure --prefix=/usr/local/ttserver/
最后出现了一个错误,看来还是有关联软件需要安装啊,错误信息如下:

configure: error: tcutil.h is required

一时间无从入手,最后还是看了下config的help,得出结论是,没有关联tc.
./configure --prefix=/usr/local/ttserver/ --with-tc=/usr/local/tc/
继续,make && make install
一切正常。
创建tokyotyrant数据文件存放目录
mkdir -p /ttserver/
启动tokyotyrant的主进程(ttserver)
单机模式启动:
/usr/local/ttserver/bin/ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
启动的时候可以会报告错误

/usr/local/ttserver/bin/ttserver: error while loading shared libraries: libtokyocabinet.so.8: cannot open shared object file: No such file or directory

解决办法:
ln -s /usr/local/tc/lib/libtokyocabinet.so.8 libtokyocabinet.so.8
把tc目录里的libtokyocabinet.so.8作软连接到ttserver里的lib即可,然后启动ttserver成功.
netstat -lnat 显示11211端口已打开,证明可以使用了。
测试代码:

  1. <?PHP
  2. $mem=new Memcache();
  3. $mem->connect("127.0.0.1",11211);
  4. $mem->add("key2","value2");
  5. print_r( $mem->get("key2"));
  6. echo "<hr>";
  7. $mem->add("key3",array("value3"=>"this is value3"));
  8. print_r($mem->get("key3"));
  9. ?>
复制代码

运行php,输出:

  1. value2a:1:{s:6:"value3";s:14:"this is value3";}
复制代码

证明成功!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值