Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          Tokyo Tyrant基本規范(2)--服務器程序

              Tokyo Tyrant基本規范,翻譯自tt官網,地址。

              本節介紹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 [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-kl] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [-rcc] [-skel name] [-mul num] [-ext path] [-extpc name period] [-mask expr] [-unmask expr] [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", "bnum", "apow", "fpow", "opts", "lcnum", "ncnum", "xmsiz", "dfunit"
          Fixed-length database "mode", "width", "limsiz"
          Table database "mode", "bnum", "apow", "fpow", "opts", "rcnum", "lcnum", "ncnum", "xmsiz", "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,失敗時返回其他。


          posted on 2010-08-18 23:39 sky ao 閱讀(1341) 評論(0)  編輯  收藏 所屬分類: nosql

          主站蜘蛛池模板: 西林县| 迁西县| 徐水县| 扶余县| 珲春市| 延川县| 会理县| 上饶市| 嘉峪关市| 额尔古纳市| 盖州市| 涟源市| 梓潼县| 汕头市| 灵川县| 雷波县| 绵竹市| 平和县| 通辽市| 四平市| 大田县| 华安县| 元江| 安乡县| 巩义市| 襄汾县| 巴塘县| 将乐县| 海淀区| 紫金县| 佛学| 渝北区| 阿克| 峡江县| 施秉县| 多伦县| 仙居县| 安陆市| 营山县| 长治县| 克东县|