1.介绍
tokyo cabinet(tc)一个key-value的高性能数据库,类似于新浪的memcachedb。
tokyo tyrant(tt)是tc的网络接口,实现memcached的兼容协议及http访问。
2.安装
tc下载地址:http://fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz
tt下载地址:http://fallabs.com/tokyotyrant/tokyotyrant-1.1.41.tar.gz
安装比较简单:
tc安装
tar xvfz tokyocabinet-1.4.47.tar.gz
cd tokyocabinet-1.4.47
./configure
make
make install
(ps:如果在安装过程中,找不到zlib.h 到http://zlib.net/下载zlib安装,bzlib.h到http://www.bzip.org/下载,安装,安装基本make&& make install)
tt安装
tar xvfz tokyotyrant-1.1.41.tar.gz
cd tokyotyrant-1.1.41
./configure
make
make install
就安装完成了。
3.配置
默认情况下,ttserver启动脚本在/usr/local/sbin/ttservctl下,通过
./ttservctl start #启动
默认启动端口1978
可以通过 telnet 127.0.0.1 1978 来测试是否安装成功。
也可以通过ttserver命令来启动,启动tokyotyrant的主进程(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
双机互为主辅模式
服务器192.168.1.91:
ulimit -SHn 51200
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.tcb#lmemb=1024#nmemb=2048#bnum=10000000
服务器192.168.1.92:
ulimit -SHn 51200
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.tcb#lmemb=1024#nmemb=2048#bnum=10000000
参数说明
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万条记录缓存在内存中:
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.tch#bnum=1000000
如果大量的客户端访问ttserver,请确保文件描述符够用。许多服务器的默认文件描述符为1024,可以在启动ttserver前使用ulimit命令提高这项值。例如:
ulimit -SHn 51200
4.停止tokyotyrant(ttserver)
ps -ef | grep ttserver
找到ttserver的进程号并kill,例如:
kill -TERM 2159 或者 kill -15 2159 (ps:不要直接kill -9 2159,如果数据写入会导致文件顺坏)
分享到:
相关推荐
Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...
- 源码编译和安装过程,包括依赖库的解决 - 各数据库的命令行工具使用 - 数据模型设计和查询语法 - 配置文件的解读和调整 - 集群部署和数据复制 - 性能优化策略 对于初学者来说,了解和掌握这些数据库的安装和基本...
总结来说,Tokyo Cabinet和Tokyo Tyrant是针对高并发和大数据量需求的Key-Value数据库解决方案,通过调整参数如MMAP内存大小和bucket数组数量,可以在保持高效性能的同时,适应不断增长的数据规模。对于寻求优化...
通过理解和使用C#版的Tokyo Tyrant客户端,开发者可以在.NET环境中轻松地构建与Tokyo Tyrant数据库交互的应用程序,满足高速读写、低延迟和高可扩展性的需求。同时,了解NoSQL数据库的特性和Tokyo Tyrant的使用,...
至于压缩包中的"TC&TT.ppt"文件,很可能是一个关于Tokyo Cabinet和Tokyo Tyrant的PPT演示文稿,可能包含了更详细的介绍、使用示例和最佳实践。通过阅读这份文档,你可以获得更全面的理解,包括如何安装、配置、使用...
同时,由于 Tokyo Cabinet 和 Tokyo Tyrant 的开源属性,开发者可以根据自身需求对其进行定制和扩展,以满足特定场景的需求。 总的来说,"ttserver" 和相关压缩包提供的技术栈是数据存储和处理的一个强大工具,对于...
下面将详细阐述Tokyo Cabinet的关键特性和使用方法。 1. 数据结构与设计: Tokyo Cabinet采用哈希表(Hash Table)、B+树(B+ Tree)和固定长度记录文件(Ft File)三种不同的数据结构,分别对应HDB、BDB和FDB三种...
6. **Tokyo Cabinet**:Tokyo Tyrant通常与Tokyo Cabinet一起使用,后者是它的数据存储后端。Tokyo Cabinet是一个文件格式的数据库,提供了B+树和哈希表两种存储方式。 7. **操作简便**:Tokyo Tyrant可以通过...
Tokyo Cabinet具有高性能和多种存储引擎选择,Tokyo Tyrant则通过热备份、update log和异步复制提高可用性,并允许通过Lua脚本进行原子性操作。 3. MongoDB:MongoDB是一个面向文档的数据库,支持无固定规格的JSON...
其中,键值存储数据库如Tokyo Cabinet/Tokyo Tyrant,以极高的读写速度著称,适合高速缓存和实时数据处理;文档数据库如MongoDB,以JSON文档形式存储数据,便于数据的检索和管理;列族存储数据库如HBase,适用于大...
Tokyo Tyrant则作为Tokyo Cabinet的网络接口,支持Memcached传输协议,负责网络连接和协议解析,与Tokyo Cabinet配合实现网络存储功能。 ICE(Internet Communications Engine)是一个跨语言的网络通信框架,提供了...
例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB。 2. 列存储数据库:这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。例如:...
1. **高并发读写**:在高流量的Web应用中,NoSQL的键值对数据库(如TC/TT中的Tokyo Cabinet和Tokyo Tyrant)能够提供快速的读写性能,适合对数据库进行频繁的读取和更新操作。 2. **海量数据存储和访问**:文档型...
学习memcached的使用和管理,对于Web开发者来说是一个重要的技能。它不仅能够帮助开发者理解如何通过缓存提高应用性能,还能教会他们如何在不同的应用场景下进行配置优化。对于想要深入理解memcached原理的读者,...
Tokyo cabinet / Tyrant CT.M Scalien Berkley DB MemcacheDB Mnesia LightCloud HamsterDB Flare 最终一致性Key Value存储 Amazon之Dynamo 功能特色 架构特色 BeansDB 简介 更新 特性 性能 Nuclear 两个设计上的T ...
* Key-Value 存储,例如 Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB。 * 列式数据库,例如 Cassandra, HBase, Riak。 * 文档型数据库,例如 CouchDB, MongoDB。 * 图结构数据库,例如 Neo4J, InfoGrid, ...
1. 键值(Key-Value)存储数据库,如Redis、Tokyo Cabinet/Tyrant,适合内容缓存,优点是查询快速,但结构化程度低。 2. 列存储数据库,如Cassandra、HBase,适用于分布式文件系统,优点在于查找速度快,扩展性强,但...