Tokyo Tyrant基本规范(2)--服务器程序
本节介绍Tokyo Tyrant的服务器程序。 三. 服务器程序 1) ttserver 命令'ttserver'运行服务器端管理一个数据库实例。因为数据库被视为Tokyo Cabinet的抽象API,你可以在服务器启动时选择方案。支持的方案有on-memory hash database,on-memory tree database,hash database,和 B+ tree database. 这个命令的使用格式如下。'dbname'指定数据库名称。缺省使用on-memory hash database。 ttserver[-hostname][-portnum][-thnumnum][-toutnum][-dmn][-pidpath][-kl][-logpath][-ld|-le][-ulogpath][-ulimnum][-uas][-sidnum][-mhostname][-mportnum][-rtspath][-rcc][-skelname][-mulnum][-extpath][-extpcnameperiod][-maskexpr][-unmaskexpr][dbname] 选项说明如下: -host name : 指定服务器的主机名或地址。默认,每个网络地址都将被绑定 -port num : 指定端口号。默认为1978 -thnum num : 指定工作线程。默认为8 -tout num : 指定每个会话(session)的超时时间,单位秒。默认不超时。 -dmn : 作为守护进程工作 -pid path : 输出进程id到文件 -kl : 如果发现进程id文件存在,杀死已存在的进程 -log path : 输出日志信息到文件 -ld : 将debug信息写入日志文件 -le : 仅仅写入错误信息到日志文件 -ulog path : 指定更新日志目录 -ulim num : 指定每个更新日志文件的大小限制 -uas : 为更新日志使用异步I/O -sid num : 指定服务器ID -mhost name : 指定复制主服务器的主机名 -mport num : 指定复制主服务器的端口号 -rts path : 指定复制时间戳文件 -rcc : 检查复制的一致性 -skel name : 指定骨架(skeleton,基本?)数据库类库的名称 -mul num : 指定多数据库机制的分区数量 -ext path : 指定脚本语言扩展文件 -extpc name period : 指定周期命令的函数名和调用周期 -mask expr : 指定禁用命令的名称 -unmask expr : 指定容许使用的命令的名称 发送SIGINT或SIGTERM到进程可正常关闭服务器。也可以在控制终端中按Ctrl-C。发送SIGHUP可重启服务器。如果端口号不大于0,将使用UNIX domain socket同时socket文件的路径将由主机参数指定。这个命令成功时返回0,失败返回其他。 数据库命名协定由Tokyo Cabinet的抽象API指定。名称为 名称 数据库 "*" on-memory hash database '+' on-memory tree database ".tch"后缀 hash database ".tcb"后缀 B+ tree database ".tcf" fixed-length database ".tct" table database 别的名称则这个方法失败。 名字后面可以追加调整参数,用"#"分隔。每个参数由名称和值组成,用"="分隔。 数据库 支持参数 On-memory hash database "bnum","capnum","capsiz" On-memory tree database "capnum","capsiz" Hash database "mode","bnum","apow","fpow","opts","rcnum","xmsiz","dfunit" B+ tree database "mode","lmemb","nmemb","lcnum","ncnum","dfunit" Fixed-length database "mode","width","limsiz" Table database "mode","dfunit","idx" 参数名 作用 "bnum" 指定bucket number "capnum" 指定记录的容量数 "capsiz" 指定使用内存的容量大小. 超过容量的记录将基于存储顺序被删除. "mode" 可包含"w"/写,"r"/读,"c"/创建,"t"/缩短(truncating),"e"/不加锁,"f"/不阻塞锁. 默认模式为"wc". "opts" 可包含"l" / large选项,"d" / Deflate选项,"b" / BZIP2 选项,"t" / TCBS 选项 "idx" 指定索引的列名和类型,用":"分隔。例如,"casket.tch#bnum=1000000#opts=ld" 表示数据库文件名是"casket.tch",bucket number 是 1000000,选项是large和Deflate. 命令掩码表达式(command mask expression)是由","分隔的命令列表。例如,"out,vanish,copy"表示"out","vanish"和"copy"的集合。memcached 兼容协议命令和HTTP 兼容协议命令也同样被禁止或容许,和每个初始命令的掩码相关。此外,还有meta 表达式: 表达式 表示的命令 "all" 所有命令 "allorg" 所有原始二进制协议的命令 "allmc" 所有memcached兼容协议的命令 "allhttp" 所有HTTP兼容协议的命令"allread" 缩写,包括'get','mget','vsiz','iterinit','iternext','fwmkeys','rnum','size','stat'. "allwrite" 缩写,包括'put','putkeep','putcat','putshl','putnr','out','addint','adddouble','vanish','misc'. "allmanage" 缩写,包括'sync','optimize','copy','restore','setmst'. "repl" 作为master复制 "slave" 作为slave复制 2) ttservctl 'ttservctl'命令是服务器的启动脚本。可以被操作系统的启动程序的RC脚本调用。这个命令的使用格式如下: 1. ttservctl start 启动服务器 2. ttservctl stop 停止服务器 3. ttservctl restart 重启服务器 4. ttservctl hup 为日志轮换发送HUP信号到服务器 数据库放置于"/var/ttserver/casket.tch"。日志和相关文件放置于"/var/ttserver"。这个命令成功时返回0,失败时返回其他。 3) ttulmgr 'ttulmgr'命令是导入导出更新日志的工具。对于通过使用文本工具如grep和sed来过滤日志文件非常有用。这个命令的使用格式如下。'upath'指定更新日志目录。 1. ttulmgr export [-ts num] [-sid num] upath 导出更新日志为TSV文本数据到标准输出 2. ttulmgr import upath 从标准输入中导入TSV文本数据到更新日志 选项如下 -ts num : 指定开始的时间戳 -sid num : 指定自己的服务器ID 这个命令成功时返回0,失败时返回其他。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 【COCOS2DX-ANDROID-游戏开发之二十】停止手打所有cpp文件到
- ruby-on-rails-3 – 如何用Rails中的div包装每个select_sel
- ruby-on-rails – 使用browsersync与rails – 观看编译的cs
- 小胖说swift04--------OC与Swift混编
- Flutter进阶—实现动画效果(七)
- GNU Makefile等效于shell的“TRAP”命令,用于在退出时简要识
- Laravel使用ajax将数据传递给控制器
- XML wsdl soap xslt xsl ide
- 如果EXISTS条件不适用于PLSQL
- 使用Appium和Ruby测试iOS应用程序时是否等待加载元素?