`

【汇总】Tokyo Cabinet

阅读更多

安装

  1. tokyocabinet-1.4.47.tar.gz(数据库)
  2. tokyotyrant-1.1.41.tar.gz(网络接口)
  3. tokyo_tyrant-0.6.0.tgz(PHP扩展)安装tokyocabinet
#tar -zxvf tokyocabinet-1.4.47.tar.gz
#cd tokyocabinet-1.4.47
#./configure --prefix=/usr/local/tokyocabinet
#make
#make install 

 

安装tokyotyrant

#tar -zxvf tokyotyrant-1.4.47.tar.gz
#cd tokyotyrant-1.4.47
#./configure --prefix=/usr/local/tokyotyrant
#make
#make install

 

启动TT

#mkdir /var/ttserver-1978
#chmod -R 777 /var/ttserver-1978
#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
basedir="/var/ttserver"
->
basedir="/var/ttserver-1978"
===
#/usr/local/tokyotyrant/sbin/ttservctl start

 

安装tokyo_tyrant

#tar -zxvf tokyo_tyrant-0.6.0.tgz
#cd tokyo_tyrant
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --with-tokyo-tyrant=/usr/local/tokyotyrant --with-tokyo-cabinet-dir=/usr/local/tokyocabinet
#make
#make install

 

需要配置php

#vi /usr/local/php/etc/php.ini
// 添加如下
[totyr_tyrant]
extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/tokyo_tyrant.so";

 

fastcgi方式安装php,重启php

#pkill -o php-fpm
#/usr/local/php/sbin/php-fpm

 

 

tokyocabinet配置优化

选择数据库类型:TCHDB

  1. TCHDB的速度是最快的
  2. 服务器内存可以分配4G给TT,足够使用

配置如下

#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
dbname="$basedir/casket.tch#bnum=1000000"
--->
dbname="$basedir/casket.tch#bnum=20000000#xmsiz=4294967296"
===
#/usr/local/tokyotyrant/sbin/ttservctl stop
#/usr/local/tokyotyrant/sbin/ttservctl start

注释:

bnum:TT算法下放在内存中记录总数

xmsize:分配给TT使用的内存,如果超过该内存,在该数据库类型下的TT性能将急剧下降,单位是B,不是K或者M哦

 

如果考虑到数据量特别大,可以尝试选择TCBDB,相比TCHDB,速度下降了了很多,同时对内存的需求也下降了很多

配置如下

#vi /usr/local/tokyotyrant/sbin/ttservctl
===
// 修改部分
dbname="$basedir/casket.tch#bnum=1000000"
--->
dbname="$basedir/casket.tch#lmemb=1024#nmemb=2048#bnum=20000000"
===

具体的可以参照附件“dtcc_tc_tt_tcsql.pdf”,张宴写的,如果侵犯了作者的著作权,请第一时间告知,立刻删除

 

 

PHP连接tokyocabinet

如果全部安装成功,便可以调用php的tt接口

<?php

/****http://www.php.net/manual/en/class.tokyotyrant.php****

    TokyoTyrant::add — Adds to a numeric key
    TokyoTyrant::connect — Connect to a database
    TokyoTyrant::connectUri — Connects to a database
    TokyoTyrant::__construct — Construct a new TokyoTyrant object
    TokyoTyrant::copy — Copies the database
    TokyoTyrant::ext — Execute a remote script
    TokyoTyrant::fwmKeys — Returns the forward matching keys
    TokyoTyrant::get — The get purpose
    TokyoTyrant::getIterator — Get an iterator
    TokyoTyrant::num — Number of records in the database
    TokyoTyrant::out — Removes records
    TokyoTyrant::put — Puts values
    TokyoTyrant::putCat — Concatenates to a record
    TokyoTyrant::putKeep — Puts a record
    TokyoTyrant::putNr — Puts value
    TokyoTyrant::putShl — Concatenates to a record
    TokyoTyrant::restore — Restore the database
    TokyoTyrant::setMaster — Set the replication master
    TokyoTyrant::size — Returns the size of the value
    TokyoTyrant::stat — Get statistics
    TokyoTyrant::sync — Synchronize the database
    TokyoTyrant::tune — Tunes connection values
    TokyoTyrant::vanish — Empties the database

    Examples:
    $tt = new connect($host, $port);
    $tt->put($key, $value);
    $tt->get($key);
    $tt->out($key);
    $tt->vanish();
    $num = $tt->num();

***************************************************/

 

 

修改Linux内核参数,发挥TT性能

1.主要是修改Linux的TCP连接数,可以是TT高并发的特点发挥出来

#sysctl -w net.ipv4.tcp_tw_reuse=1
#sysctl -w net.ipv4.tcp_tw_recycle=1
#sysctl -w net.ipv4.tcp_fin_timeout=10
#sysctl -w net.core.wmem_max=8388608
#sysctl -w net.core.rmem_max=8388608

注释:不需要重启Linux

 

 

附件

  1. tokyocabinet-1.4.47.tar.gz
  2. tokyotyrant-1.1.41.tar.gz
  3. tokyo_tyrant-0.6.0.tar.gz(由于iteye不允许上传tgz格式的文件,所以只好修改成tar.gz,下载后请修改回tokyo_tyrant-0.6.0.tgz)
  4. dtcc_tc_tt_tcsql.pdf(文件内容显示作者张宴,如果侵犯著作权,请第一时间告知,立刻删除)
1
1
分享到:
评论

相关推荐

    tokyo cabinet tyrant研究资料

    Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...

    Tokyo Cabinet Key:Value数据库及其扩展应用

    《Tokyo Cabinet Key-Value数据库及其扩展应用》 在应对现代Web 2.0应用程序的高并发和大数据量需求时,传统的MySQL数据库遇到了性能瓶颈。单表记录数的增长导致查询效率降低,而读写分离模式在面对大量写操作时...

    PHP tokyo cabinet扩展

    尝试开发PHP的扩展,仅用于学习。目前仅能够在windows下编译通过。 Linux下的tokyo cabinet API与Windows与差别,写的时候是在windows下,准备在linux下编译时才发现tokyo cabinet API在Unix下与Windows下是不一样的

    Tokyo-Cabinet.tar.gz

    Tokyo-Cabinet是一款高效、轻量级且功能强大的键值对存储系统,它由日本的Hirata Takashi开发。这个系统提供了多种数据库引擎,包括BDB-like(Berkeley DB风格)的TDB(Tokyo Database)和哈希表型的HDB(Hash ...

    tokyocabinet-lua-1.10.tar.gz_TOKYO_Tokyo Cabinet

    Tokyo cabinet C 库的Lua绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个...

    tokyocabinet-java-1.24.tar.gz_TOKYO_Tokyo Cabinet java_tokyocabi

    Tokyo cabinet C 库代码的Java绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。...

    Tokyo Cabinet-开源

    **东京内阁(Tokyo Cabinet)**是一款高效的开源数据库库,它源于QDBM并在此基础上进行了优化和提升。作为QDBM的升级版本,东京内阁在性能方面有着显著的改进,尤其在处理大量数据时,其速度表现更加出色,无需依赖...

    tokyocabinet-1.4.45.tar.gz

    Tokyo Cabinet是一个高效、轻量级且开源的数据库管理系统,主要设计用于在本地存储大量数据。这个名为"tokyocabinet-1.4.45.tar.gz"的压缩包文件包含的是Tokyo Cabinet的1.4.45版本源代码。在本文中,我们将深入探讨...

    再说tokyocabinet 及其扩展

    标题“再说tokyocabinet 及其扩展”指的是对Tokyo Cabinet这一开源数据库系统的深入讨论,以及可能涉及的对其功能的增强或优化。Tokyo Cabinet是一款高效、轻量级的键值存储系统,广泛用于数据缓存和日志记录等场景...

    tokyo-cabinet-cookbook:安装 Tokyo Cabinet 并为 ROMA 设置

    东京橱柜食谱 使用 Chef 安装东京橱柜。 支持的平台 支持以下平台: ...在节点的run_list包含tokyo-cabinet : { " run_list " : [ " recipe[tokyo-cabinet::default] " ] } 作者 作者:坂锐( )

    tokyocabinet-1.4.47.tar.gz

    Tokyo Cabinet是一款高效、轻量级的键值对数据库管理系统,它在IT行业中被广泛用于数据存储和检索。Tokyo Cabinet的设计目标是提供快速、可靠且占用资源少的数据存储解决方案,特别适合处理大量数据和高并发访问场景...

    tokyocabinet-1.4.48.tar.gz

    《Tokyo Cabinet:高效数据库管理库的探索》 Tokyo Cabinet,作为一个开源的、轻量级的数据库管理系统,因其高效、稳定以及易于使用的特点,在IT领域中被广泛应用。标题中的"tokyocabinet-1.4.48.tar.gz"表示的是...

    tokyo tyrant文档

    从这份文档中,我们可以深入理解Tokyo Tyrant及其关联的Tokyo Cabinet数据库的多个方面,包括其安装、使用、原理以及与其他数据库系统的性能比较。下面将详细解析这些关键知识点。 ### 1. Tokyo Tyrant与Tokyo ...

    BNRPersistence:一组使用Tokyo Cabinet来保存和加载Objective-C对象的类

    BNR持久性亚伦·希勒加斯(Aaron Hillegass) 2010年7月9日经过几年的抱怨,Core Data可能会变得更好,我认为我应该编写一个...安装首先,您需要下载Tokyo Cabinet: : (有一个sourceforge页面,但是最新的版本似乎

    tokyoCabint及tokyoTyrant简介

    标题 "tokyoCabinet及tokyoTyrant简介" 指向了两个与数据库管理相关的开源工具,Tokyo Cabinet和Tokyo Tyrant。这两个工具由日本开发者开发,主要用于小型到中型的数据存储,尤其适合那些对数据读写速度有较高要求的...

    nezha:哪吒(Nezha)是一个基于Tokyo Cabinet的简单分布式KV存储系统原型

    哪吒(Nezha)是中国神话故事里的少年战神,我们以其作为基础Tokyo Cabinet的简单分布式KV存储系统原型项目的代号。 它包含configdb lib(configdb.h / libconfigdb.so)和一个命令行测试程序(Nezha) 执行make ...

    HTTPSQS源码分析

    HTTPSQS是一款消息队列服务器,其内部使用Tokyo Cabinet作为存储引擎实现数据的持久化。Tokyo Cabinet是一种高性能的键值存储系统,能够高效地存储与检索键值对。本篇文章将深入分析HTTPSQS的架构、工作原理及其涉及...

    ttserver

    "ttserver" 是一个基于 Tokyo Cabinet 的服务器程序,主要用于数据存储和管理。Tokyo Cabinet 是一个非常著名的键值存储系统,提供了高效、轻量级的数据持久化解决方案。它支持BDB(Berkeley DB)和HDB(Hash DB)两...

    tokyodb:东京内阁的Pharo包装纸

    标题 "tokyodb:东京内阁的Pharo包装纸" 指的是一个专门为Pharo编程环境封装的Tokyo Cabinet数据库接口。Tokyo Cabinet是一个著名的键值存储系统,它提供了高效、轻量级的数据存储解决方案,而这个项目则将Tokyo ...

    Cabinet SDK

    Cabinet SDK是一款专门用于开发ActiveX控件的软件开发工具包,它主要聚焦于创建和管理Cabinet文件,这是微软Windows操作系统中广泛使用的文件压缩格式。Cabinet文件常用于安装程序,因为它能有效地减小文件体积,...

Global site tag (gtag.js) - Google Analytics