Tokyo Tyrant基本規(guī)范,翻譯自Tokyo Tyrant官網(wǎng)。
本節(jié)介紹Tokyo Tyrant的客戶端程序。
四. 客戶端程序
1) tcrtest
'tcrtest'命令是用于敏捷測試和性能測試的工具。這個(gè)命令的使用格式如下。'host'指定服務(wù)器的主機(jī)名, 'rnum'指定重復(fù)測試的數(shù)目。
1. tcrtest write [-port num] [-cnum num] [-tout num] [-nr] [-rnd] host rnum
使用8字節(jié)作為key存儲記錄。key依次更改為'00000001', '00000002'...
2. tcrtest read [-port num] [-cnum num] [-tout num] [-mul num] [-rnd] host
獲取數(shù)據(jù)庫中的所有記錄
3. tcrtest remove [-port num] [-cnum num] [-tout num] [-rnd] host
刪除數(shù)據(jù)庫中的所有記錄
4. tcrtest rcat [-port num] [-cnum num] [-tout num] [-shl num] [-dai|-dad] [-ext name] [-xlr|-xlg] host rnum
使用連鎖模式(concatenate mode)用中途重復(fù)的key來存儲記錄
5. tcrtest misc [-port num] [-cnum num] [-tout num] host rnum
執(zhí)行不同操作的混合測試。
6. tcrtest wicked [-port num] [-cnum num] [-tout num] host rnum
隨機(jī)選取list和map來執(zhí)行更新操作
7. tcrtest table [-port num] [-cnum num] [-tout num] [-exp num] host rnum
執(zhí)行table extension的混合測試
選項(xiàng)如下:
選項(xiàng) 意義
-port num 指定端口號
-cnum num 指定連接數(shù)
-tout num 指定每個(gè)會(huì)話的超時(shí)時(shí)間,單位秒
-nr 使用函數(shù)'tcrdbputnr'代替'tcrdbput'
-rnd 隨機(jī)選取key
-mul num 為mget命令指定記錄數(shù)
-shl num 使用'tcrdbputshl'并指定寬度
-dai 使用'tcrdbaddint'代替'tcrdbputcat'
-dad 使用'tcrdbadddouble'代替'tcrdbputcat'
-ext name 調(diào)用腳本語言擴(kuò)展函數(shù)
-xlr 執(zhí)行記錄鎖定
-xlg 執(zhí)行全局鎖定
-exp num 指定過期測試的生存時(shí)間
如果端口號不大于0,將使用UNIX domain socket同時(shí)socket文件的路徑將由主機(jī)參數(shù)指定。這個(gè)命令成功時(shí)返回0,失敗返回其他。
2) tcrmttest
'tcrmttest'是多線程環(huán)境下的敏捷測試工具。這個(gè)命令的使用格式如下。'host'指定服務(wù)器的主機(jī)名, 'rnum'指定重復(fù)測試的數(shù)目。
1. tcrmttest write [-port num] [-tnum num] [-nr] [-rnd] [-ext name] host rnum
使用8字節(jié)作為key存儲記錄。key依次更改為'00000001', '00000002'...
2. tcrmttest read [-port num] [-tnum num] [-mul num] host
獲取數(shù)據(jù)庫中的所有記錄
3. tcrmttest remove [-port num] [-tnum num] host
刪除數(shù)據(jù)庫中的所有記錄
選項(xiàng)如下:
選項(xiàng) 意義
-port num 指定端口號
-tnum num 指定運(yùn)行的線程數(shù)
-nr 使用函數(shù)'tcrdbputnr'代替'tcrdbput'
-rnd 隨機(jī)選取key
-ext name 調(diào)用腳本語言擴(kuò)展函數(shù)
-mul num 為mget命令指定記錄數(shù)
如果端口號不大于0,將使用UNIX domain socket同時(shí)socket文件的路徑將由主機(jī)參數(shù)指定。這個(gè)命令成功時(shí)返回0,失敗返回其他。
3) tcrmgr
'tcrmgr'是用于遠(yuǎn)程數(shù)據(jù)庫API和應(yīng)用程序的測試和調(diào)試工具。'host'指定服務(wù)器主機(jī)名,'key'指定記錄的key。'value'指定記錄的值。'params'指定調(diào)試參數(shù)。'dpath'指定目標(biāo)文件。'func'指定函數(shù)名。'arg'指定函數(shù)的參
數(shù)。'file'指定輸入文件。'upath'指定更新日志目錄。'mhost'指定復(fù)制時(shí)master的主機(jī)名。'url'指定目標(biāo)URL。
1. tcrmgr inform [-port num] [-st] host
打印各種信息到標(biāo)準(zhǔn)輸出
2. tcrmgr put [-port num] [-sx] [-sep chr] [-dk|-dc|-dai|-dad] host key value
存儲記錄
3. tcrmgr out [-port num] [-sx] [-sep chr] host key
刪除記錄
4. tcrmgr get [-port num] [-sx] [-sep chr] [-px] [-pz] host key
打印記錄的值
5. tcrmgr mget [-port num] [-sx] [-sep chr] [-px] host [key...]
打印多條記錄的key和value
6. tcrmgr list [-port num] [-sep chr] [-m num] [-pv] [-px] [-fm str] host
打印所有記錄的key,每行一條
7. tcrmgr ext [-port num] [-xlr|-xlg] [-sx] [-sep chr] [-px] host func [key [value]]
調(diào)用腳本語言擴(kuò)展函數(shù)
8. tcrmgr sync [-port num] host
使用數(shù)據(jù)庫文件同步更新內(nèi)容
9. tcrmgr optimize [-port num] host [params]
優(yōu)化數(shù)據(jù)庫文件
10. tcrmgr vanish [-port num] host
刪除所有記錄
11. tcrmgr copy [-port num] host dpath
復(fù)制數(shù)據(jù)庫文件
12. tcrmgr misc [-port num] [-mnu] [-sx] [-sep chr] [-px] host func [arg...]
為多種操作調(diào)用通用函數(shù)
13. tcrmgr importtsv [-port num] [-nr] [-sc] host [file]
從TSV文件的每行中讀取并存儲記錄
14. tcrmgr restore [-port num] [-ts num] [-rcc] host upath
用更新日志恢復(fù)數(shù)據(jù)庫
15. tcrmgr setmst [-port num] [-mport num] [-ts num] [-rcc] host [mhost]
設(shè)置復(fù)制的master。
16. tcrmgr repl [-port num] [-ts num] [-sid num] [-ph] host
復(fù)制更新日志
17. tcrmgr http [-ah name value] [-ih] url
使用HTTP獲取URL的資源
18. tcrmgr version
打印Tokyo Tyrant的版本信息