memcacheDB是基于memcached开发的,所以支持memcached协议的客户端都可以和其连接(MemcacheDB is compatible with memcache protocol, so any clients that support memcache protocol have connectivity with it)
libmemcached
简介:libMemcached is an open source C/C++ client library and tools for the memcached server (http://memcached.org/). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.(http://libmemcached.org/libMemcached.html)
安装:官网下载libmemcached的tar包,最新的1.0.18和1.0.17在编译的时候都会报错(原因不明)。1.0.16版本可以编译安装成功,默认的动态库和头文件安装在/usr/local/lib和/usr/local/include下,如果写完程序后执行时报错,找不到动态库(使用ldd命令可以发现,要引用的动态库不存在),可以将动态库复制到/usr/lib和/usr/lib64(64位操作系统),将头文件复制到/usr/include下。
C语言调用libmemcached函数连接memcacheDB的小程序(在下载客户端 libmemcached的tests 下有测试列子,可以参考):
<span style="font-family:Microsoft YaHei;">#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#include<libmemcached/memcached.h>
int main(int argc,char *argv[]){
memcached_st *memc;
memcached_return rc;
memcached_server_st *server;
time_t expiration;
uint32_t flags;
memc = memcached_create(NULL);
server = memcached_server_list_append(NULL,(char*)"localhost",21201,&rc);
rc = memcached_server_push(memc,server);
memcached_server_list_free(server);
const char *key = "123456";
const char *value = "asdfgh";
size_t keylen = strlen(key);
size_t valuelen = strlen(value);
rc = memcached_set(memc,key,keylen,value,valuelen,expiration,flags);
if(MEMCACHED_SUCCESS == rc){
printf("Save data:%s successfully\n",value);
}
char *result = memcached_get(memc,key,keylen,&valuelen,&flags,&rc);
if(MEMCACHED_SUCCESS == rc){
printf("Get value:%s successfully\n",result);
}
memcached_free(memc);
return 0;
}</span>
关于libmemcached的api可以参考: http://docs.libmemcached.org/libmemcached.html
参考文章:http://blog.chinaunix.net/uid-52437-id-2108905.html