`

tokyotyrant的API

阅读更多
#include <tcutil.h>
#include <tchdb.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>

int main(int argc, char * argv[])   
{  
	TCHDB *hdb;
	int ecode;
	char *key,*value;
	char dbpath[255];

	hdb = tchdbnew();
	if(!tchdbopen(hdb,"/data/database1.tch",HDBOWRITER | HDBOCREAT))
	{
		ecode = tchdbecode(hdb);
		fprintf(stderr,"open error:%s\n",tchdberrmsg(ecode));exit;
	}

	/* store records */
	if(!tchdbput2(hdb,"hello","world") || !tchdbput2(hdb,"foo","bar"))
	{
		ecode = tchdbecode(hdb);
		fprintf(stderr,"put error:%s\n",tchdberrmsg(ecode));exit;
	}

	value = tchdbget2(hdb,"hello");

	if(value)
	{
		printf("%s\n",value);
		free(value);
	}
	else
	{
		ecode = tchdbecode(hdb);
		fprintf(stderr,"get error:%s\n",tchdberrmsg(ecode));exit;
	}

	/* traverse records */
    tchdbiterinit(hdb);
    while((key = tchdbiternext2(hdb)) != NULL)
	{
        value = tchdbget2(hdb, key);
        if(value) 
		{
            printf("%s:%s\n", key, value);
            free(value);
        }

        free(key);
    }

	/* remove records */
	if(!tchdbout2(hdb,"hello") || !tchdbout2(hdb,"foo"))
	{
		ecode = tchdbecode(hdb);
		fprintf(stderr,"put error:%s\n",tchdberrmsg(ecode));exit;
	}


	if(!tchdbclose(hdb))
	{
		ecode = tchdbecode(hdb);
		fprintf(stderr,"close error:%s\n",tchdberrmsg(ecode));exit;
	}

	tchdbdel(hdb);
}


分享到:
评论

相关推荐

    tokyotyrant

    媲美memcached的缓存服务器软件包,tokyocabinet-1.4.45.tar.gz+tokyotyrant-1.1.40.tar.gz

    tokyoCabint及tokyoTyrant简介

    NULL 博文链接:https://alvin871111.iteye.com/blog/680677

    tokyotyrant-1.1.40.tar.gz

    tokyotyrant-1.1.40.tar.gz centos 7 x64系统应用 配合 tokyocabinet-1.4.45.tar

    tokyotyrant/tokyocabinet/gpac

    对数据库的使用方式进行了修改,使得开源软件能够支持分布式的访问。

    Tokyocabinet-Tokyotyrant文档大合集

    Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当做为Hash表数据库使用时,...

    发布一个基于TokyoTyrant的C#客户端开源项目

    目前在网上关于TokyoCabinet(以下简称TC)和TokyoTyrant(以下简称TT)的资料已相对丰富了,但在.NET平台上的客户端软件却相对匮乏,因为做Discuz!NT企业版的关系,两个月前开始接触TC和TT,开始写相关的客户端代码...

    tokyo tyrant文档

    一个小型快速数据库的安装使用及原理介绍。

    ttserver-lib包

    tokyocabinet-1.4.45.tar.gz tokyotyrant-1.1.41.tar.gz tokyotyrant-0.11.jar ch-tokyocabinet-java-1.24.0.jar

    NoSQL数据库入门(当今最炙手可热的NoSQL新型数据库技术)

    《nosql数据库入门 中文版》详细地介绍了nosql数据库(非关系型数据库)的种类、用途以及使用方法,并对memcached、tokyotyrant、redis、mongodb这4种代表性的nosql数据库的特征、适用范围、实现代码进行了深入探讨,...

    django-kvstore:Django 的键值存储框架

    tokyotyrant(东京暴君) Redis (Redis) 还有一些非持久化存储,主要用于测试目的: locmem 内存缓存 store和parameters因一个后端而异。 有关更多详细信息,请参阅每个后端实现中包含的文档。 您可以以类似于...

    tokyotytrant

    日本开发的nosql数据库,据说吞吐量很牛逼,最近开始研究这玩意的内部实现

Global site tag (gtag.js) - Google Analytics