TC数据库

来源:互联网 发布:天津广电网络 数字电视 编辑:程序博客网 时间:2024/05/29 08:34

1. 概述

TC(Tokyo Cabinet )是日本人平林幹雄开发的一款 Key-Value 键值数据库,该数据库读写非常快。

TT(Tokyo Tyrant )是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有自己的协议,并支持Memcached兼容协议和HTTP协议。

Tokyo Cabinet的数据库类型分为:

  • TCHDB (Hash Database) 哈希数据库
  • TCBDB (B+ Tree Database) B+Tree数据库
  • TCFDB (Fixed-length Database) 定长数据库
  • TCTDB (Table Database) 表格数据库
  • 其他 (On-memory Structures)

1.1 主页

http://fallabs.com/tokyocabinet/

2. API

2.1 The Hash Database API

Hash 数据库是一个包含一个 hash 表的文件,使用 Hash Database API 与之交互。 查看项目中的 tchdb.h 可知所有接口细节。

2.1.1 Description

要想使用 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

2.1.2 API

函数 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 对象的属性,必须在文件打开前调整!
原创粉丝点击