Linux_tokyotyrant_缓存服务器_安装应用

功能和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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值