本文共 1932 字,大约阅读时间需要 6 分钟。
tokyocabinet :一个key-value的DBM数据库,但是没有提供网络接口,以下称TC。
tokyotyrant :是为TC写的网络接口,他支持memcache协议,也可以通过HTTP操作,以下称TT。
Tokyo Cabinet 是一款 DBM 数据库,Tokyo Cabinet基于GNU Lesser General Public License协议发布,采用C语言开发,它可以运行在任何支持C99和POSIX平台上使用。相比一般的DBM数据库有以下几个特点:空间小,效率高,性能高,可靠性高,多种开发语言的支持(现已提供C,Perl,Ruby,Java,Lua的API),支持64位操作系统。该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。
Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。
一、安装
1.tokyocabinet-1.4.46.tar.gz(数据库)
#tar -zxvf tokyocabinet-1.4.47.tar.gz #cd tokyocabinet-1.4.47 #./configure --prefix=/usr/local/tokyocabinet #make #make install2.tokyotyrant-1.1.41.tar.gz(网络接口)
#tar -zxvf tokyotyrant-1.4.47.tar.gz
#cd tokyotyrant-1.4.47 #./configure --prefix=/usr/local/tokyotyrant #make #make install3.tokyo_tyrant-0.6.0.tgz(PHP扩展)#tar -zxvf tokyotyrant-1.4.47.tar.gz
#cd tokyotyrant-1.4.47 #./configure --prefix=/usr/local/tokyotyrant #make #make install二、简单配置PHP配置后重置apache#vi /usr/local/php/etc/php.ini
// 添加如下 [totyr_tyrant] extension = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/tokyo_tyrant.so";三、单机启动mkdir -p /ttserver/
ulimit -SHn 51200ttserver -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.tcb#lmemb=1024#nmemb=2048#bnum=10000000四、调用方式 1.任何Memcached客户端均可直接调用tokyotyrant。<?php
$mem=new Memcache();$a =$mem->connect("127.0.0.1",11211);
$b =$mem->add("key2","value2");
print_r( $mem->get("key2"));
echo "\n";
$mem->add("key3",array("value3"=>"this is value3"));
print_r($mem->get("key3"));
echo "\n";
?>
2.还可以通过HTTP方式调用,下面以Linux的curl命令为例,介绍如何操作tokyotyrant: (1)、写数据,将数据“value”写入到“key”中:curl -X PUT -d "value"
(2)、读数据,读取“key”中数据:
curl
(3)、删数据,删除“key”:
curl -X DELETE
五、遇到的问题
1.关于反序列化问题
请看解决方法
2.在大数据量下的不稳定
在数据达到30多G的时候,经常出现写入失败,详见
转自:转载地址:https://linuxstyle.blog.csdn.net/article/details/8752733 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!