功能和memcached一样;但具有持久化缓存:据说是目前最棒的缓存服务
和大家分享下自己的经验
软件下载
http://1978th.net/tokyocabinet/
http://1978th.net/tokyocabinet/tokyocabinet-1.4.45.tar.gz
http://1978th.net/tokyotyrant/
http://1978th.net/tokyotyrant/tokyotyrant-1.1.40.tar.gz
如果用到 --enable-lua则要先安装lua-5.1.4.tar.gz源码包:
http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar xzvf tokyocabinet-1.4.45.tar.gz
cd tokyocabinet-1.4.45
./configure --prefix=/usr/local/tc && make && make install
64位操作系统编译方法:
./configure --prefix=/usr/local/tc --enable-lib64 --libdir=/usr/lib64 && make && make install
tar xzvf lua-5.1.4.tar.gz
cd lua-5.1.4
make linux
make install
tar xzvf tokyotyrant-1.1.40.tar.gz
cd tokyotyrant-1.1.40
./configure --prefix=/usr/local/ttserver --with-tc=/usr/local/tc --enable-lua && make && make install
64位操作系统编译方法
./configure --prefix=/usr/local/ttserver --with-tc=/usr/local/tc --enable-lib64 --libdir=/usr/lib64 --enable-lua && make && make install
启动方法:
cd /usr/local/ttserver/bin
默认启动:
./ttserver &
[1] 19342
[root@feed bin]# 2010-07-22T11:50:28+08:00 SYSTEM --------- logging started [19342] --------
2010-07-22T11:50:28+08:00 SYSTEM server configuration: host=(any) port=1978
2010-07-22T11:50:28+08:00 SYSTEM maximum connection: 1048575
2010-07-22T11:50:28+08:00 SYSTEM opening the database: *
2010-07-22T11:50:28+08:00 SYSTEM service started: 19342
2010-07-22T11:50:28+08:00 INFO timer thread 1 started
2010-07-22T11:50:28+08:00 INFO worker thread 1 started
2010-07-22T11:50:28+08:00 INFO worker thread 2 started
2010-07-22T11:50:28+08:00 INFO worker thread 3 started
2010-07-22T11:50:28+08:00 INFO worker thread 4 started
2010-07-22T11:50:28+08:00 INFO worker thread 5 started
2010-07-22T11:50:28+08:00 INFO worker thread 6 started
2010-07-22T11:50:28+08:00 INFO worker thread 7 started
2010-07-22T11:50:28+08:00 INFO worker thread 8 started
2010-07-22T11:50:28+08:00 SYSTEM listening started
可以看到默认端口是 1978
单机模式启动:
ulimit -SHn 65536
mkdir -p /ttserver/
cd /usr/local/ttserver/bin
./ttserver -host 127.0.0.1 -port 22122 -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
双机互为主辅模式
主服务器10.8.17.167:
ulimit -SHn 65536
ttserver -host 10.8.17.167 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 91 -mhost 10.8.18.204 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch
辅服务器10.8.18.204:
ulimit -SHn 65536
ttserver -host 10.8.18.204 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 92 -mhost 10.8.17.167 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch
参数说明
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 : 指定用来存放同步时间戳的文件名。
停止tokyotyrant(ttserver)
ps -ef | grep ttserver
找到ttserver的进程号并kill,例如:
kill -9 `cat ttserver.pid`
测试--演示非持久性
主:10.8.17.168
辅:10.8.18.204
启动服务:
主:
cd /usr/local/ttserver/bin/
./ttserver &
使用客户端(10.8.18.204)--另起一个终端
cd /usr/local/ttserver/bin
存放: ./tcrmgr put 10.8.17.167:1978 one test99
获取: ./tcrmgr get 10.8.17.167:1978 one
得到结果 test99
测试持久
主的重启ttserver,
辅的:再次获取./tcrmgr get 10.8.17.167:1978 one
没有结果:./tcrmgr: error: 7: no record found
测试--演示持久性
启动服务=====
主:
cd /usr/local/ttserver/bin/
./ttserver /tmp/x.tch
使用客户端(10.8.18.204)--另起一个终端
cd /usr/local/ttserver/bin
存放: ./tcrmgr put 10.8.17.167:1978 one test8888888
获取: ./tcrmgr get 10.8.17.167:1978 one
得到结果:test8888888
测试持久
重启主:ttserver
再次获取:
./tcrmgr get 10.8.17.167:1978 one
得到结果:test8888888
证明了持久化的存储
[root@web_test bin]# telnet 10.8.17.167 1978
Trying 10.8.17.167...
2010-07-22T17:42:34+08:00 INFO connected: 10.8.17.167:51610
Connected to localhost.localdomain (10.8.17.167).
Escape character is '^]'.
stats
STAT pid 1236
STAT uptime 254
STAT time 1279791756
STAT version 1.1.40
STAT pointer_size 64
STAT rusage_user 0.000999
STAT rusage_system 0.001999
STAT cmd_set 0
STAT cmd_set_hits 0
STAT cmd_set_misses 0
STAT cmd_delete 0
STAT cmd_delete_hits 0
STAT cmd_delete_misses 0
STAT cmd_get 1
STAT cmd_get_hits 1
STAT cmd_get_misses 0
STAT cmd_flush 0
STAT curr_items 1
STAT total_items 1
STAT bytes 528736
STAT threads 8
END
quit
分享到:
相关推荐
Tokyo Tyrant是一款轻量级、高性能的键值存储系统,由日本的RDB Project开发。它是基于Tokyo Cabinet的数据库管理系统,适用于日志记录、缓存服务、元数据存储等多种场景。Tokyo Tyrant提供了多种语言的客户端,包括...
标题中的“memcached, mongdb, redis, Tokyo Tyrant”都是知名的NoSQL数据库系统,它们在现代互联网应用中被广泛使用。这篇博文很可能是关于如何在操作系统环境下安装和使用这四种数据库的教程。 1. **Memcached**...
Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...
论文中所提及的关键技术和工具,如Tokyo Tyrant、J2EE、SOA框架等,都是支撑智能电网数据处理领域发展的重要技术。 首先,智能电网数据采集系统的构建是整个智能电网技术的基础。为了有效地采集和管理海量的电力...
Tokyo Tyrant是一款由日本RDBMS公司开发的NoSQL数据库系统,因其高效的数据处理能力和高吞吐量而备受赞誉。这款数据库系统主要用于键值存储,适用于需要快速存取大量数据的应用场景,如缓存服务、日志分析、推荐系统...
从给出的信息来看,它可能是Tokyo Tyrant的一个特定版本,因为压缩包中的文件名为"tokyotyrant-1.1.41"。Tokyo Tyrant是一个轻量级、高性能的键值存储系统,常用于数据缓存和快速查找应用。 Tokyo Tyrant主要知识点...
标题 "tokyoCabinet及tokyoTyrant简介" 指向了两个与数据库管理相关的开源工具,Tokyo Cabinet和Tokyo Tyrant。这两个工具由日本开发者开发,主要用于小型到中型的数据存储,尤其适合那些对数据读写速度有较高要求的...
总结来说,Tokyo Cabinet和Tokyo Tyrant是针对高并发和大数据量需求的Key-Value数据库解决方案,通过调整参数如MMAP内存大小和bucket数组数量,可以在保持高效性能的同时,适应不断增长的数据规模。对于寻求优化...
Tokyo Tyrant 是 Tokyo Cabinet 的网络接口,它提供了一个简单易用的服务器端程序,允许远程客户端通过TCP/IP协议进行数据操作。"tokyocabinet-1.4.27.tar" 是 Tokyo Cabinet 的源代码压缩包,版本号为1.4.27。这个...
宫崎电阻描述: MiyazakiResistance是一个类似于ActiveRecord的库,可以使用Tokyo Tyrant。 宫崎县抵抗支持师傅/奴隶。 如果从服务器关闭,它将自动分离。 宫崎骏电阻支持双主控(主动/待机)。 如果活动服务器关闭...
Tokyo Cabinet具有高性能和多种存储引擎选择,Tokyo Tyrant则通过热备份、update log和异步复制提高可用性,并允许通过Lua脚本进行原子性操作。 3. MongoDB:MongoDB是一个面向文档的数据库,支持无固定规格的JSON...
其中,键值存储数据库如Tokyo Cabinet/Tokyo Tyrant,以极高的读写速度著称,适合高速缓存和实时数据处理;文档数据库如MongoDB,以JSON文档形式存储数据,便于数据的检索和管理;列族存储数据库如HBase,适用于大...
总的来说,`asynctnt-1.0b2-cp35-cp35m-manylinux1_i686.whl`是一个适用于Python 3.5的32位Linux系统的异步TNT客户端库,旨在简化与Tokyo Tyrant数据库的交互,并通过异步API提供高性能的I/O操作。如果你的项目中...
主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 服务器性能监控:GET、... 兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
MemAdmin主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 ...兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
他们通过自己开发的工具和技术,包括Tokyo Cabinet和Tokyo Tyrant,来进一步提高缓存系统的效率和可靠性。 学习memcached的使用和管理,对于Web开发者来说是一个重要的技能。它不仅能够帮助开发者理解如何通过缓存...
* 键值(Key-Value)存储数据库:相关产品有 Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB。典型应用:内容缓存,主要用于处理大量数据的高访问负载。数据模型:一系列键值对。优势:快速查询;劣势:存储的...
1. **键值(Key-Value)存储数据库**:如Tokyo Cabinet/Tyrant、Redis、Voldemort等。这类数据库适用于需要高速访问的大规模数据存储场景。其数据模型为一系列键值对,具有快速查询的优势,但存储的数据缺少结构化特性...
例如 TokyoCabinet/Tyrant、Redis、Voldemort 和 BerkeleyDB 等。这类数据库的优势在于能够提供快速查询能力,但存储的数据缺少结构化,适合用于内容缓存等场景。 2. **列存储数据库**:此类数据库将相同类型的列...