标签:分布式 nosql 内存数据库 aerospike shard-nothing
Aerospike C客户端提供在数据库中创建和删除次索引的能力。
目前,次索引可用namespace、set、bin三者名称的组合来创建,可用于创建索引的bin数值类型是整型(integer)或字符串(string)。若一个次索引被定义在包含整型数值的、名称为“x"的bin上,那么只有包含bin "x"且bin数值为整型的记录被索引。其它包含bin "x"但数据不是整型的记录不被索引。
索引管理调用被提交到Aerospike集群中的任一节点,信息将被自动地传播到剩余节点。
次索引的创建和删除是“昂贵”的操作,应当作管理任务执行,而不是当作应用运行时任务。Aerospike提供许多工具,比如aql,来创建、删除、管理与监控次索引。本章节说明的API被提供用来构建这些工具与其它工具。
下面是创建次索引的操作。每一个操作均指定namespace、set、bin和一个名称,唯一地在namespace中标识次索引。
aerospike_index_integer_create()
— 在整型(integer)数值bin上创建索引。aerospike_index_string_create()
— 在字符串(string)数值bin上创建索引。
后面的代码片断引用自示例目录【examples/query_examples】。
请先阅读【创建连接】章节内容,理解如何建立与集群的连接。
下面代码将在名称为“binX“的bin上创建一个整型(integer)索引,被创建索引的记录属于的namespace名称为“test”、set名称为“test-set”,索引标识为“idx_binX”。
as_error err;
if (aerospike_index_integer_create(&as, &err, NULL, "test", "demoset",
"binX", "idx_binX") != AEROSPIKE_OK) {
LOG("aerospike_index_integer_create() returned %d - %s", err.code,
err.message);
return false;
}
删除次索引的操作是aerospike_index_remove(),它需要使用nammespace和次索引名称。
as_error err;
aerospike_index_remove(&as, &err, NULL, "test", "idx_binX");
标签:分布式 nosql 内存数据库 aerospike shard-nothing
原文地址:http://blog.csdn.net/jj_tyro/article/details/45333461