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