Tokyo Cabinet 安装
?
tokyocabinet :一個(gè)key-value的DBM數(shù)據(jù)庫(kù),但是沒(méi)有提供網(wǎng)絡(luò)接口,以下稱TC。
tokyotyrant :是為TC寫的網(wǎng)絡(luò)接口,他支持memcache協(xié)議,也可以通過(guò)HTTP操作,以下稱TT。
Tokyo Cabinet 是一款 DBM 數(shù)據(jù)庫(kù),Tokyo Cabinet基于GNU Lesser General Public License協(xié)議發(fā)布,采用C語(yǔ)言開發(fā),它可以運(yùn)行在任何支持C99和POSIX平臺(tái)上使用。相比一般的DBM數(shù)據(jù)庫(kù)有以下幾個(gè)特點(diǎn):空間小,效率高,性能高,可靠性高,多種開發(fā)語(yǔ)言的支持(現(xiàn)已提供C,Perl,Ruby,Java,Lua的API),支持64位操作系統(tǒng)。該數(shù)據(jù)庫(kù)讀寫非常快,哈希模式寫入100萬(wàn)條數(shù)據(jù)只需0.643秒,讀取100萬(wàn)條數(shù)據(jù)只需0.773秒,是 Berkeley DB 等 DBM 的幾倍。
Tokyo Tyrant 加上 Tokyo Cabinet,構(gòu)成了一款支持高并發(fā)的分布式持久存儲(chǔ)系統(tǒng),對(duì)任何原有Memcached客戶端來(lái)講,可以將Tokyo Tyrant看成是一個(gè)Memcached,但是,它的數(shù)據(jù)是可以持久存儲(chǔ)的。
?
?
一、安裝
1.tokyocabinet-1.4.46.tar.gz(數(shù)據(jù)庫(kù))
#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(網(wǎng)絡(luò)接口)
#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擴(kuò)展)#tar -zxvf tokyotyrant-1.4.47.tar.gz? 
#cd tokyotyrant-1.4.47? 
#./configure --prefix=/usr/local/tokyotyrant? 
#make? 
#make install? 
二、簡(jiǎn)單配置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";? 
三、單機(jī)啟動(dòng)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
四、調(diào)用方式??? 1.任何Memcached客戶端均可直接調(diào)用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.還可以通過(guò)HTTP方式調(diào)用,下面以Linux的curl命令為例,介紹如何操作tokyotyrant:
  (1)、寫數(shù)據(jù),將數(shù)據(jù)“value”寫入到“key”中:
curl -X PUT http://127.0.0.1:11211/key -d "value"
(2)、讀數(shù)據(jù),讀取“key”中數(shù)據(jù):
curl http://127.0.0.1:11211/key
(3)、刪數(shù)據(jù),刪除“key”:
curl -X DELETE http://127.0.0.1:11211/key
五、遇到的問(wèn)題
????? 1.關(guān)于反序列化問(wèn)題
????????? 請(qǐng)看解決方法http://willko.javaeye.com/admin/blogs/332982
?????? 2.在大數(shù)據(jù)量下的不穩(wěn)定
???????? 在數(shù)據(jù)達(dá)到30多G的時(shí)候,經(jīng)常出現(xiàn)寫入失敗,詳見http://www.cnblogs.com/sunli/archive/2010/06/20/1761412.html
?
轉(zhuǎn)自:http://hi.baidu.com/caltonnj/item/633656f4e4f4ad2a743c4ca5
總結(jié)
以上是生活随笔為你收集整理的Tokyo Cabinet 安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 油烟机多少钱一台啊?
 - 下一篇: 求一个心累了的个性签名