TTServer(tokyotyrant)的helloworld

本文详细介绍了TokyoTyrant的安装步骤、常用命令及监控方法,并提供了Java客户端示例代码,帮助读者快速掌握TokyoTyrant的基本操作。
常用命令:
apt-get install tokyotyrant
apt-get install python-tokyotyrant
watch -n 1 "tcrmgr inform -port 11211 -st 10.1.224.171"
备份tcrmgr copy -port 11212 10.1.224.171 /data/backdata/yiyiback0607.tch
tcrmgr vanish -port 11211 10.1.224.171 清除
tcrmgr put -port 11211 10.1.224.171 hao aifangfang
tcrmgr list -port 11211 10.1.224.171
tcrmgr out -port 11211 10.1.224.171 hao
ps -ef|grep ttserver

ulimit -SHn 512000
tcrtest write -port 11212 -cnum 768 10.1.224.171 99999999
lsof -c tcrtest|wc -l

ttserver -host 10.1.224.171 -port 11212 -thnum 1024 -dmn -pid /data/ttserver_cache/ttserver.pid -log /data/ttserver_cache/ttserver.log -le -ulog /data/ttserver_cache/ulog/ -ulim 128m -sid 171_2 -rts /data/ttserver_cache/ttserver.rts /data/ttserver_cache/cache.tcb#lmemb=1024#nmemb=2048#bnum=20000000

指南参考http://code.google.com/p/xmemcached/wiki/User_Guide_zh

监控命令
tcrmgr inform -port 11211 -st 10.1.224.171 


装完后,重启ubuntu会自动启动线程。ps查看
/usr/sbin/ttserver -port 0 -dmn -pid /var/run/tokyotyrant/tokyotyrant.pid -log /var/log/tokyotyrant/tokyotyrant.log -host /var/run/tokyotyrant/tokyotyrant.sock /var/lib/tokyotyrant/data/tokyotyrant.tch#bnum=1000000


参考http://gqf2008.iteye.com/blog/366963
http://www.162cm.com/p/tokyotyrant.html
在ubuntu11.04下


apt-get install libbz2-dev
apt-get install tokyotyrant

mkdir /ttservcer

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


ps -ef|grep ttserver
kill -TERM 3683


启动之后:
curl -X PUT http://127.0.0.1:11211/hao -d "ningge"
添加值
curl http://127.0.0.1:11211/hao 访问值
curl -X DELETE http://127.0.0.1:11211/hao 删除值
或用:
tcrmgr put -port 20000 192.168.0.100 test1 value1  增加
tcrmgr get -port 20000 192.168.0.100 test1 获取
tcrmgr out -port 20000 192.168.0.100 test1 删除
tcrmgr list -port 20000 192.168.0.100 列出所有数据的key

参考http://blog.youkuaiyun.com/leonzhang2008/archive/2010/11/23/6029635.aspx

摘抄:
-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 : 指定用来存放同步时间戳的文件名。

------------------------java--------------------
http://code.google.com/p/tokyotyrant-java/downloads/list
这个没试验,下面这个好使,据说是memcache的协议
http://code.google.com/p/xmemcached/
XMemcachedClient client =new XMemcachedClient(AddrUtil.getAddresses("10.1.224.171:11211"));
if (!client.set("hello", 0, "okok")){ //对应cnt_put
System.err.println("set error");
}
client.add("hello", 0, "okok1"); //对应cnt_putkeep
client.replace("hello", 0, "okok2");
String name=(String)client.get("hello");
System.out.println(name);

List<String> keys=new ArrayList<String>();
keys.add("hello");
keys.add("hao");
Map<String,Object> map=client.get(keys);
System.out.println(map.get("hao"));
client.shutdown();

或者:
MemcachedClientBuilder builder = new XMemcachedClientBuilder(
AddrUtil.getAddresses("10.1.224.171:11211"));
MemcachedClient memcachedClient = builder.build();
try {
memcachedClient.set("hello", 0, "Hello,xmemcached");
String value = memcachedClient.get("hello");
System.out.println("hello=" + value);
memcachedClient.delete("hello");
value = memcachedClient.get("hello");
System.out.println("hello=" + value);
} catch (MemcachedException e) {
System.err.println("MemcachedClient operation fail");
e.printStackTrace();
} catch (TimeoutException e) {
System.err.println("MemcachedClient operation timeout");
e.printStackTrace();
} catch (InterruptedException e) {
// ignore
}
try {
// close memcached client
memcachedClient.shutdown();
} catch (IOException e) {
System.err.println("Shutdown MemcachedClient fail");
e.printStackTrace();
}



-------------------------------------------
Tokyo Cabinet 单个数据库文件记录数超过1亿,性能会急剧下降。Tokyo Tyrant 的新版本支持了数据库文件拆分,例如 ttserver -mul 256 database.tcb 启动TT时,将会自动拆分成256个文件,存取时,根据key哈希到不同的文件。


-----------------------------详解---------------------
[@ubuntu_106_182 ~]# tcrmgr inform -port 11212 -st 192.168.106.182
version 1.1.40
libver 323
protver 0.91
os Linux
time 1306904089.978848
pid 14085
sid 182
type B+ tree
path /data/ttserver_cache/cache.tcb
rnum 8312540 当前键值的数量
size 19317456896
bigend 0
fd 313
loadavg 1.530000
memsize 5984587776
memrss 256909312
ru_user 132652.434764
ru_sys 73513.136304
ru_real 3717761.706554
cnt_put 196309068 put操作的次数,put同一个key也算
cnt_putkeep 0
cnt_putcat 0
cnt_putshl 0
cnt_putnr 0
cnt_out 2030428 out操作的次数
cnt_get 4483735690 读取key的次数
cnt_mget 0
cnt_vsiz 0
cnt_iterinit 1
cnt_iternext 3544
cnt_fwmkeys 0
cnt_addint 0
cnt_adddouble 0
cnt_ext 0
cnt_sync 0
cnt_optimize 0
cnt_vanish 0
cnt_copy 0
cnt_restore 0
cnt_setmst 0
cnt_rnum 0
cnt_size 0
cnt_stat 207543170
cnt_misc 0
cnt_repl 0
cnt_put_miss 0
cnt_out_miss 2012252
cnt_get_miss 159781902 读取,但是key不存在的次数

内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)与多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习与启发因子优化,实现路径的动态调整与多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算与参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练与融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法与神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑与实时避障等多目标协同优化;③为智能无人系统的自主决策与环境适应能力提供算法支持; 阅读建议:此资源结合理论模型与MATLAB实践,建议读者在理解ACO与MLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值