zoukankan      html  css  js  c++  java
  • 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 :指明server的hostname或者ip地址。

      默认server的全部地址都会被绑定。比方:指定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开销,可是在server意外关机。进程被kill时可能会丢失数据。

      依据经验,一般能够不使用)。

    • -sid num : 指定服务的ID号。

      主从复制的时候通过不同的ID号来识别。

    • -mhost name : 指定主从复制模式下的主server的IP或域名。
    • -mport num : 指定主从模式下主server的端口号.
    • -rts path : 指定用于主从复制的时间戳存放文件
    • -rcc 检查同步是否正常
    • -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数据库(有表的概念)。
    数据库的调整參数通过数据库名的延伸来指定。通过"#"分开,每一个參数通过一个參数名和值来指定。用"="隔开。


    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
  • 相关阅读:
    List<T>Find方法,FindAll方法,Contains方法,Equals方法
    C#SerialPort如何读取串口数据并显示在TextBox上
    49、css属性相关
    40、协程
    45、mysql 储存过程
    37、进程之间的通信
    38、线程及其方法
    39、多线程和线程池
    33、验证客户端的合法性、socketserver模块
    32、黏包的解决方式、struct模块
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6901984.html
Copyright © 2011-2022 走看看