Tokyo Tyrant(TTServer)系列(二)-启动参数和配置

启动参数介绍

ttserver命令可以启动一个数据库实例。因为数据库已经实现了Tokyo Cabinet的抽象API,所以可以在启动的时候指定数据库的配置类型。

支持的数据库类型有:

  1. 内存hash数据库
  2. 内存tree数据库
  3. hash数据库
  4. B+ tree数据库,

命令通过下面的格式来使用,‘dbname’制定数据库名,如果省略,则被视作内存hash数据库。

ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sidnum] [-mhost name] [-mport num] [-rts path] [-ext path] [-extpc name period] [-mask expr] [dbname]

下面来说这些参数的功能:

  • -host name :指明服务器的hostname或者ip地址。默认服务器的所有地址都会被绑定。比如:指定127.0.0.1这样的ip,就只是本地可以访问了。
  • -port num : 指定服务启动的端口. 默认1978.如果要启动多个数据库实例,端口需要不一样。
  • -thnum num : 指定服务工作的线程数。默认8.
  • -tout num : 指定每个会话的超时时间。默认永不超时。
  • -dmn : 以守护进程方式运行。
  • -pid path : 输出进程IP到指定的文件。
  • -log path : 输出日志信息到指定文件。
  • -ld : 日志中记录debug信息。
  • -le :日志中只记录错误信息。
  • -ulog path : 指定存放更新日志(update log)的目录.可以用来备份恢复数据库,主从库之间的同步。
  • -ulim num : 指定每个更新日志文件的大小限制.
  • -uas :使用异步IO记录更新日志。(使用此项可以减少写入日志的IO开销,但是在服务器意外关机,进程被kill时可能会丢失数据。根据经验,一般可以不使用)。
  • -sid num : 指定服务的ID号。主从复制的时候通过不同的ID号来识别。
  • -mhost name : 指定主从复制模式下的主服务器的IP或域名。
  • -mport num : 指定主从模式下主服务器的端口号.
  • -rts path : 指定用于主从复制的时间戳存放文件.
  • -ext path : 指定扩展脚本语言文件。
  • -extpc name period : 指定被周期调用的函数名和间隔时间.
  • -mask expr : 指定被禁止的命令名(比如可以禁止使用清空vanish).
  • -unmask expr : 指定被允许的命令名.
  • 数据库类型

  • 下面我们再来看下数据库类型的详细配置。
  1. 数据库名的命名方式被Tokyo Cabinet的抽象API指定。
  2. 如果数据库名为"*",表示内存hash数据库。
  3. 如果数据库名为"+"表示内存tree数据库。
  4. 如果数据库名为".tch",则数据库为hash数据库。
  5. 如果数据库名的后缀为".tcb",数据库将为B+ tree数据库。
  6. 如果数据库名的后缀为".tcf"。则数据库将为fixed-length数据库。
  7. 如果数据库名的后缀为".tct",则数据将为一个table数据库(有表的概念)。

数据库的调整参数通过数据库名的延伸来指定,通过"#"分开,每个参数通过一个参数名和值来指定,用"="隔开。

内存hash数据库支持"bnum", "capnum", 和 "capsiz"

内存tree数据库支持"capnum" 和 "capsiz"

capnum指定记录的最大容量,capsiz指定最大的内存使用量(在内存数据库中),记录通过存储的顺序移除。

hash数据库支持"mode", "bnum", "apow", "fpow", "opts", "rcnum", 和 "xmsiz".

`rcnum‘指定最大的缓存记录数。如果它不大于零,那么缓存记录不可用。默认不可用。
 xmsiz   指定外部内存的大小。如果不大于0,内存不可用。默认是67108864,即64M。
`bnum‘ 指定bucket存储桶的数量。如果指定的数目不大于0,将会使用默认的数值131071.推荐数量应该在所有需要存储的记录总数的0.4-4倍
`apow‘ 跟一个key关联的记录数,2的N次方表示.  如果不指定,默认2^4=16.
`fpow‘ specifies the maximum number of elements of the free block pool by power of 2.  默认2^10=1024.
`opts‘ 指定选项,位或:`HDBTLARGE‘ 指定数据库的大小通过使用64位数组桶能够超过2G。
                       `HDBTDEFLATE‘  指定每个记录被Deflate encoding压缩。
                      `HDBTBZIP‘ 指定每个记录被BZIP2 encoding压缩
                       `HDBTTCBS‘指定每个记录被 TCBS encoding压缩.

B+ tree数据库支持"mode", "lmemb", "nmemb", "bnum", "apow", "fpow", "opts", "lcnum", "ncnum", 和 "xmsiz".

Fixed-length 数据库 支持 "mode", "width", and "limsiz".

Table 数据库支持 "mode", "bnum", "apow", "fpow", "opts", "rcnum", "lcnum", "ncnum", "xmsiz", 和 "idx"

"idx"指定表的索引。

"mode"可以包含 "w" 写, "r" 读, "c" 创建, "t" 截断,"e" 无锁,和"f" 非阻塞锁。默认的的mod为"wc"。

例如如下启动参数:

./ttserver -port 9032 -pid ~/app/tokyotyrant-1.1.41/data/tt_account2/tt_9032.pid ~/app/tokyotyrant-1.1.41/data/tt_account2/tt_account2.tch

Tokyo Tyrant(TTServer)系列(二)-启动参数和配置,布布扣,bubuko.com

时间: 2024-10-21 23:46:01

Tokyo Tyrant(TTServer)系列(二)-启动参数和配置的相关文章

swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?

date: 2018-8-01 14:22:17title: swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?description: 阅读 sowft 框架源码, 了解 sowft 启动阶段的那些事儿 小伙伴刚接触 swoft 的时候会感觉 压力有点大, 更直观的说法是 难. 开发组是不赞成 难 这个说法的, swoft 的代码都是 php 实现的, 而 php 又是 世界上最好的语言, swoft 的代码阅读起来是很轻松的. 之后开发组会用 系列源码 解读文章, 深入解析

php配置php-fpm启动参数及配置详解

约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm的启动参数 #测试php-fpm配置 /usr/local/php/sbin/php-fpm -t /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t #启动p

Fitnesse启动参数与配置

Fitnesse最新版20140630默认启动后,网页风格与 fitnesse.org 的Bootstrap风格完全不一致. 需要配置plugins.properties中的Theme=bootstrap,才能启动Bootstrap风格的Fitnesse. 启动Bootstrap风格的Fitnesse 从 fitnesse.org 下载最新版20140630的fitnesse-standalone.jar后, 启动fitnesse: ? 1 D:\fitnesse\fitnesse-201406

[ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis

上一章 [ 搭建Redis本地服务器实践系列一 ] :图解CentOS7安装Redis 详细的介绍了Redis的安装步骤,那么只是安装完成,此时的Redis服务器还无法正常运作,我们需要对其进行一些配置,这个章节我们重点来讲解下如何对Redis配置文件进行配置才能顺利的启动Redis服务. 要了解Reids的配置项,我们需要先来认识一个脚本文件redis_init_script,从名字我们就能看出来,他就是Redis的初始化脚本,那么这个脚本文件长什么样子,里面有什么内容,又该怎么找到他呢?哈哈

Tokyo Tyrant(TTServer)系列(二)-启动參数和配置

启动參数介绍 ttserver命令能够启动一个数据库实例.由于数据库已经实现了Tokyo Cabinet的抽象API,所以能够在启动的时候指定数据库的配置类型. 支持的数据库类型有: 内存hash数据库 内存tree数据库 hash数据库 B+ tree数据库 命令通过以下的格式来使用,'dbname'制定数据库名,假设省略.则被视作内存hash数据库. ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid

Tokyo Tyrant(TTServer)系列(三)-Memcache协议

通过Memcache协议使用ttserver 通过telnet 127.0.0.1 9032 telnet连接到到启动的实例. 以下我们通过add增加key为key1和value为value1的数据. 通过get key1获取数据.(<key> <flags> <exptime> <bytes>) add key1 1 0 6 value1 STORED get key1 VALUE key1 0 6 value1 END 编写php脚本 $mem=new 

Tokyo Tyrant(TTServer)系列(四)-tcrmgr远程管理与调试

Tokyo Tyrant(TTServer)系列-tcrmgr(远程管理与调试) tcrmgr是TokyoTyrant的管理工具,对ttserver进行管理与执行命令: 通过输入tcrmgr回车,可以看到相关操作选项:tcrmgr inform [-port num] [-st] host 查看当前服务运行状态信息 tcrmgr put [-port num] [-sx] [-sep chr] [-dk|-dc|-dai|-dad] host key value 保存一条记录 tcrmgr ou

Tokyo Tyrant(TTServer)系列(五)-ttserver的几种部署方式

ttserver的几种部署方式 ttserver可以理解成一种key-value形式的数据库,部署ttserver的方式,可以根据访问量和数据规模循选择不同的部署策略. 详细启动参数请参考:http://blog.csdn.net/xifeijian/article/details/37744131 1.单机:数据量不大,访问量不大ttserver -host 192.168.1.110 -port 1978 -thnum 128 -dmn -ulim 1024m -ulog /home/ope

Tokyo Tyrant(TTServer)系列(一)-介绍和安装

Tokyo Cabinet 是日本人Mikio Hirabayashi 开发的一款DBM 数据库,该数据库读写非常快,哈希模式写入100 万条数据只需0.643 秒,读取100 万条数据只需0.773 秒,是Berkeley DB 等DBM 的几倍.Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口.它拥有Memcached兼容协议,也可以通过HTTP 协议进行数据交换. Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支持高并发的分布式持