`
ronry
  • 浏览: 39878 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

TTServer是什么?
Tokyo Cabinet 是一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统。key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。

Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。

TTServer的安装以及配置:
先到http://fallabs.com/tokyocabinet/上现在最新版本的tokyocabinet和tokyotyrant,目前tokyocabinet的最新版本是1.4.46而tokyotyrant的最新版本是1.4.41

1、编译安装 tokyocabinet 数据库
tar zxvf tokyocabinet-1.4.46.tar.gz
cd tokyocabinet-1.4.46/
./configure
make
make install

2、编译安装tokyotyrant
tar zxvf tokyotyrant-1.4.41.tar.gz
cd tokyotyrant-1.4.41/
./configure
make
make install

注:如果安装Tokyo Cabinet时指定了目录,在安装Tokyo Tyrant时用 --with-tc 指定Tokyo Cabinet的目录,如果没指定会报:configure: error: tcutil.h is required 错误。

3、创建tokyotyrant数据文件存放目录
mkdir  /var/db/ttserver/

4、启动tokyotyrant的主进程(ttserver)
[root@localhost /]# whereis ttserver  -> /usr/local/bin/ttserver
[root@localhost /]# cd /usr/local/sbin
[root@localhost bin]#  ttserver -host 127.0.0.1 -port 1978 -thnum 8 -dmn -pid /var/db/ttserver/ttserver.pid -log /var/db/ttserver/ttserver.log -le -ulog /var/db/ttserver/ -ulim 128m -rts /var/db/ttserver/ttserver.rts /var/db/ttserver/database.tch

(注:如果不指定/var/db/ttserver/database.tch这个数据存储文件,数据只会保存在内存中,重启后将丢失 )
[root@localhost bin]# ps uax |grep ttserver //查找运行的进程

 

5 主辅模式启动

服务器192.168.1.91:

ttserver -host 192.168.1.91 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 91 -mhost 192.168.1.92 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch

 

服务器192.168.1.92:

ttserver -host 192.168.1.92 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 92 -mhost 192.168.1.91 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch


6、参数说明
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
-port num : 指定需要绑定的端口号。默认端口号为1978
-thnum num : 指定线程数。默认为8个线程。
-tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程ID到指定文件(这里指定文件名)。
-log path : 输出日志信息到指定文件(这里指定文件名)。
-ld : 在日志文件中还记录DEBUG调试信息。
-le : 在日志文件中仅记录错误信息。
-ulog path : 指定同步日志文件存放路径(这里指定目录名)。
-ulim num : 指定每个同步日志文件的大小(例如128m)。
-uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。
-sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
-mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
-mport num : 指定主辅同步模式下,主服务器的端口号。
-rts path : 指定用来存放同步时间戳的文件名。

如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:

[root@localhost ttserver]# ttserver -host 127.0.0.1 -port 1978 -thnum 8 -dmn -pid /var/db/ttserver/ttserver.pid -log /var/db/ttserver/ttserver.log -le -ulog /var/db/ttserver/ -ulim 128m
-sid 1 -rts /var/db/ttserver/ttserver.rts /var/db/ttserver/database.tch#bnum=1000000

7 应用:
1、任何Memcached客户端均可直接调用tokyotyrant。
2、还可以通过HTTP方式调用,下面以Linux的curl命令为例,介绍如何操作tokyotyrant:
  (1)、写数据,将数据“value”写入到“key”中:curl -X PUT http://127.0.0.1:1978/key -d "value"
    (2)、读数据,读取“key”中数据:curl http://127.0.0.1:1978/key
    (3)、删数据,删除“key”:curl -X DELETE http://127.0.0.1:1978/key
3. PHP 的 API 接口程序以及 DEMO 详见:http://openpear.org/repository/Net_TokyoTyrant/

注:在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G,而64位操作系统则不受这一限制。所以,如果使用 Tokyo Tyrant,推荐在64位CPU、操作系统上安装运行。在编译Tokyo cabinet的时候,使用如下编译选项就可以突破2G限制:--enable-off64

分享到:
评论

相关推荐

    ttserver

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

    memcached和TTserver的使用

    【标题】: "深入理解memcached与TTServer的使用" 【描述】: "TTServer作为一款成熟的NoSQL存储系统,已经在各种应用场景中广泛使用。它以其出色的性能、复制功能、小巧的代码库以及对key-value数据存储的良好支持,...

    TTSERVER V2.1.1

    "TTServer V2.1.1"是一款专为用户提供便捷远程访问服务的软件。这款工具以其高效、稳定和易用性赢得了用户的喜爱,使得无论身处何地,都能轻松实现对远程计算机的控制和管理,真正打破了地理位置的限制,实现了...

    TTserver1.1.4

    "TTserver1.1.4" 是一个特定版本的服务器软件,可能是一个数据库服务或某种特定的服务器平台。从给出的信息来看,它可能是Tokyo Tyrant的一个特定版本,因为压缩包中的文件名为"tokyotyrant-1.1.41"。Tokyo Tyrant是...

    ttserver被协助端.rar

    《ttserver被协助端详解与应用》 在IT行业中,"ttserver被协助端"是一个常见的话题,尤其对于网络服务开发者和系统管理员来说,它扮演着至关重要的角色。"ttserver"通常指的是一个用于提供特定服务或功能的服务器...

    ttserver-lib包

    tokyocabinet-1.4.45.tar.gz tokyotyrant-1.1.41.tar.gz tokyotyrant-0.11.jar ch-tokyocabinet-java-1.24.0.jar

    ttserver.exe

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。 被协助者请运行“ttserver.exe”运行软件之后,随便输入一个验证码,然后点击‘被协助’,并将验证码告知协助方,协助方运行“ttclient.exe”

    基于C++的蘑菇街企业办公即时通信软件TTServer设计源码

    本项目为蘑菇街自主研发的企业级办公即时通信软件TTServer的设计源码,采用C++作为主要开发语言,并涉及Java、C、Shell等多种编程语言。项目包含218个文件,具体为81个Java文件、54个C++源文件、52个头文件、6个...

    关于使用key/value数据库redis和TTSERVER的心得体会

    关于使用Key/Value数据库Redis和TTSERVER的心得体会,主要集中在Redis的特性和使用场景上。Redis是一个高性能的Key/Value存储系统,它与Memcached相似,但提供了更为丰富的数据结构和更强大的功能。 首先,Redis...

    最小的远程控制软件ttvnc2.2

    首先,我们要了解ttvnc2.2的两个核心组件:ttserver.exe和ttclient.exe。ttserver.exe是被控端程序,安装在需要被远程控制的计算机上。它的主要职责是监听网络连接,等待控制端的请求,并在接收到请求后提供远程桌面...

    远程协助软件-TTVNC

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。...若被协助方的‘被协助’按钮为灰色,请去掉后面‘自动连接’的勾,然后退出软件重新运行 ttserver.exe 输入验证码并点击被协助即可。

    TTServer-Docs:蘑菇街TeamTalk TTServer文档

    【TTServer-Docs:蘑菇街TeamTalk TTServer文档】 蘑菇街TeamTalk的TTServer是一款专为团队协作设计的服务器端软件,它提供了丰富的通信和协作功能,助力企业或团队高效沟通与工作。TTServer-Docs是该软件的官方文档...

    TTServer:蘑菇街一款既是做开源又是做产品的企业办公即时通信软件

    ###项目背景 随着蘑菇街由导购向电商转型,蘑菇街自己的IM也应运而生,IM起初只是用于商家和 买家之间沟通的工具。后面我们问自己,既然已经有了用于客服的IM,为什么不自己 做一个IM,用于公司内部的沟通工具,来...

    https-github.com-mogutt-TTServer

    TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器...

    TTMobile:用于通过 TTServer 存储 GPS 轨迹的 Android 应用程序

    TTMobile 是一个专门为 Android 设计的应用程序,其主要功能是收集和存储用户的 GPS 轨迹数据,并将这些数据上传到服务器,该服务器通常被称为 TTServer。这个应用程序基于 Java 语言开发,Java 作为 Android 开发的...

    TTServerWin:TeamTalk 服务器端 For Windows

    移植TTServer能在Windows环境下编译运行,当前能正常编译运行的包括LoginServer,RouteServer,MsgServer,file_server,msfs。已能正常运行TTserver服务器端所有功能 TeamTalk是一套开源的企业办公即时通讯软件,作为...

    TeamTalk全套源码

    TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器...

    ttvnc2.2 远程工具

    ttserver.exe是ttvnc的服务器端组件,它的主要任务是在目标计算机上运行并等待来自远程客户端的连接请求。一旦启动,服务器端会监听指定的端口,等待客户端的连接。配置好服务器后,你可以通过网络将其远程地址和...

Global site tag (gtag.js) - Google Analytics