- tokyocabinet :一个key-value的DBM数据库,但是没有提供网络接口,以下称TC。
- tokyotyrant :是为TC写的网络接口,他支持memcache协议,也可以通过HTTP操作,以下称TT。
- Tokyo Tyrant支持双机互为主辅模式,主辅库均可读写。
- 使用 $memcache->addServer 而不是 $memcache->connect 去连接 Tokyo Tyrant 服务器。
- Tokyo Tyrant用于主辅同步的日志文件比较小,大约是数据库文件的1.3倍。
- Tokyo Tyrant 也有缺点: 在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G ,而64位操作系统则不受这一限制。
- 方式
- 安装过程:
- 请先安装tokyocabinet,再安装tokyotyrant.后者依赖前者
- 编译安装tokyocabinet数据库
wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.28.tar.gz
tar zxvf tokyocabinet-1.4.28.tar.gz
cd tokyocabinet-1.4.28/
./configure
make
make install
cd ../- 编译安装tokyotyrant
wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.29.tar.gz
tar zxvf tokyotyrant-1.1.29.tar.gz
cd tokyotyrant-1.1.29/
./configure
make
make install
cd ../make -p /usr/local/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.tch
- 双机互为主辅模式服务器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.tch
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.tch
- 参数说明
-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
ulimit -SHn 51200
- 单机模式
-
停止tokyotyrant(ttserver)
ps -ef | grep ttserver
kill -TERM 2159
-
调用
-
- 任何Memcached客户端均可直接调用tokyotyrant。
- 还可以通过HTTP方式调用,下面以Linux的curl命令为例,介绍如何操作tokyotyrant;
- 写数据:将数据“value”写入到“key”中:
curl -X PUT http://127.0.0.1:11211/key -d "value"
- 读数据,读取“key”中数据:
- 删数据,删除“key”:
curl -X DELETE http://127.0.0.1:11211/key
参考地址:http://docs.linuxtone.org/ebooks/NOSQL/tokyotyrant.html
关于tokyo的一些认识
最新推荐文章于 2022-03-11 13:02:25 发布