你好,游客 登录 注册 搜索
背景:
阅读新闻

Tokyo Cabinet 安装 - 计算机应用

[日期:2013-04-02] 来源:  作者: [字体: ]

 

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





收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻