TC(Tokyo Cabinet )是日本人平林幹雄开发的一款 Key-Value 键值数据库,该数据库读写非常快。
TT(Tokyo Tyrant )是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有自己的协议,并支持Memcached兼容协议和HTTP协议。
Tokyo Cabinet的数据库类型分为:
http://fallabs.com/tokyocabinet/
Hash 数据库是一个包含一个 hash 表的文件,使用 Hash Database API 与之交互。 查看项目中的 tchdb.h 可知所有接口细节。
要想使用 Hash Database API, 需要在源代码中包含 "tcutil.h", "tchdb.h" 及其他需要的头文件。如:
#include <tcutil.h>
#include <tchdb.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
首先需要声明一个 TCHDB 类型的对象,它将被用作处理 hash 数据库。 创建 TCHDB 类型对象使用 tchdbnew , 用完后要用 tchdbdel 删除之。
创建 TCHDB 对象后,需要用 tchdbopen 打开一个数据库文件与之关联。同样,在不需要使用的时候删除之,删除用 tchdbclose。
函数 tchdberrmsg
根据错误代码返回一个错误信息。
const char *tchdberrmsg(int ecode);
ecode 代表错误号
返回值: 对应于错误号的错误信息
函数 tchdbnew
创建 a hash database object。
TCHDB *tchdbnew(void);
返回指向 TCHDB 对象的指针
函数 tchdbdel
删除 a hash database object。
void tchdbdel(TCHDB *hdb);
hdb 为指向 the hash database object 的指针
如 database 没有关闭,这个函数悄悄关闭之。
函数 tchdbecode
获得 a hash database object 最后的错误号。
int tchdbecode(TCHDB *hdb);
hdb 表示 the hash database object
返回值: 最后的错误号
设置属性函数:
bool tchdbsetmutex(TCHDB *hdb); // 设置多线程安全
bool tchdbsetcache(TCHDB *hdb, int32_t rcnum); // 设置缓存大小,默认禁止
bool tchdbtune(TCHDB *hdb, int64_t bnum, int8_t apow, int8_t fpow, uint8_t opts); // 调整 hdb 对象的属性,必须在文件打开前调整!