标签:分布式 aerospike nosql shard-nothing 内存数据库
C客户端函数库
Aerospike对象描述一个集群。连接到一个集群,第一步需要配置一个aerospike对象。
要配置客户端,应提供一个初始化且填充了配置信息的as_config对象。
首先,使用as_config_init()以默认值初始化as_config:
as_config config;
as_config_init(&config);
初始化as_config完成后,使用特定于应用的设置来填充它。
最低限度,至少需要配置一个服务器地址给客户端做seed。客户端将尝试连接各个seed主机,直到成功连接上。
config.hosts[0] = { .addr = "127.0.0.1", .port = 3000 };
要连接集群,首先使用前面创建的as_config配置对象来初始化一个aerospike客户端对象。
aerospike as;
aerospike_init(&as, &config);
aerospike_init()函数执行成功后,返回完成初始化完成的aerospike客户端对象,否则返回空(NULL)。
现在,使用初始化完成的aerospike客户端对象,连接到集群。 aerospike_connect()函数需要一个as_error对象来返回出错信息:
as_error err;
if (aerospike_connect(&as, &err) != AEROSPIKE_OK) {
fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
}
函数返回码与err.code的值相一致。若返回码不是AEROSPIKE_OK,则表明发生了错误,通过检查err对象可获得更多信息。
一个aerospike客户端对象内部保存集群状态并维护与集群间的连接池。同一个aerospike客户端对象可被应用重用,完成给定集群上的数据库操作。
若应用需要连接到多个Aerospike集群,应用必须创建多个aerospike客户端对象,每个连接到不同集群。
当不再需要客户端连接到一个集群时,使用aerospike_close()关闭连接:
as_error err;
if (aerospike_close(&as, &err) != AEROSPIKE_OK) {
fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
}
当客户端不再需要时,通过aerospike_destroy()销毁客户端对象并且释放其所占资源:
aerospike_destroy(&as);
标签:分布式 aerospike nosql shard-nothing 内存数据库
原文地址:http://blog.csdn.net/jj_tyro/article/details/45149783