启动參数介绍
ttserver命令能够启动一个数据库实例。由于数据库已经实现了Tokyo Cabinet的抽象API,所以能够在启动的时候指定数据库的配置类型。
支持的数据库类型有:
- 内存hash数据库
- 内存tree数据库
- hash数据库
- 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]
以下来说这些參数的功能:
|
-
数据库类型
- 以下我们再来看下数据库类型的具体配置。
- 数据库名的命名方式被Tokyo Cabinet的抽象API指定。
- 假设数据库名为"*"。表示内存hash数据库。
- 假设数据库名为"+"表示内存tree数据库。
- 假设数据库名为".tch",则数据库为hash数据库。
- 假设数据库名的后缀为".tcb",数据库将为B+ tree数据库。
- 假设数据库名的后缀为".tcf"。则数据库将为fixed-length数据库。
- 假设数据库名的后缀为".tct",则数据将为一个table数据库(有表的概念)。
数据库的调整參数通过数据库名的延伸来指定。通过"#"分开,每一个參数通过一个參数名和值来指定。用"="隔开。
1、内存hash数据库支持"bnum", "capnum", 和 "capsiz"
2、内存tree数据库支持"capnum" 和 "capsiz",capnum指定记录的最大容量,capsiz指定最大的内存使用量(在内存数据库中),记录通过存储的顺序移除。
3、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压缩
4、B+ tree数据库支持"mode", "lmemb", "nmemb", "bnum", "apow", "fpow", "opts", "lcnum", "ncnum", 和 "xmsiz".
5、Fixed-length 数据库 支持 "mode", "width", and "limsiz".
6、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