|
Tokyo Cabinet 是一個DBM的實現。這里的數據庫由一系列key-value對的記錄構成。key和value都可以是任意長度的字節序列,既可以是二進制也可以是字符串。這里沒有數據類型和數據表的概念。
當 做為Hash表數據庫使用時,每個key必須是不同的,因此無法存儲兩個key相同的值。提供了以下訪問方法:提供key,value參數來存儲,按 key刪除記錄,按key來讀取記錄,另外,遍歷key也被支持,雖然順序是任意的不能被保證。這些方法跟Unix標準的DBM,例如GDBM,NDBM 等等是相同的,但是比它們的性能要好得多(因此可以替代它們)
當按B+樹來存儲時,擁用相同key的記錄也能被存儲。像hash表一 樣的讀取,存儲,刪除函數也都有提供。記錄按照用戶提供的比較函數來存儲??梢圆捎庙樞蚧虻剐虻挠螛藖碜x取每一條記錄。依照這個原理,向前的字符串匹配搜 索和整數區間搜索也實現了。另外,B+樹的事務也是可用的。
As for database of fixed-length array, records are stored with unique natural numbers. It is impossible to store two or more records with a key overlaps. Moreover, the length of each record is limited by the specified length. Provided operations are the same as ones of hash database. 對于定長的數組,記錄按自然數來標記存儲。不能存儲key相同的兩條或更多記錄。另外,每條記錄的長度受到限 制。讀取方法和hash表的一樣。
Tokyo Cabinet是用C寫的,同時提供c,perl,ruby,java的API。
|