Tokyo Cabinet 安装

2023-09-25 14:02:41 浏览数 (2)

tokyocabinet:一个key-value的DBM数据库,但是没有提供网络接口,以下称TC。PHP

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 install  

  2.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 install 

  3.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 51200 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.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 http://127.0.0.1:11211/key -d "value"

(2)、读数据,读取“key”中数据:

curl http://127.0.0.1:11211/key

(3)、删数据,删除“key”:

curl -X DELETE http://127.0.0.1:11211/key

五、遇到的问题

      1.关于反序列化问题

          请看解决方法http://willko.javaeye.com/admin/blogs/332982

       2.在大数据量下的不稳定

         在数据达到30多G的时候,经常出现写入失败,详见http://www.cnblogs.com/sunli/archive/2010/06/20/1761412.html

转自:http://hi.baidu.com/caltonnj/item/633656f4e4f4ad2a743c4ca5

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞