【发布时间】:2014-06-11 21:47:59
【问题描述】:
我想在持久模式下记录一个键值,但是当我想使用 2 个或更多不同的存储时它不起作用。
这是我的脚本:
...
typedef struct{
kv_t *kv;
char *name;
} kv_data;
int main(int argc, char *argv[])
{
kv_data **data = (kv_data**)get_env(argv, US_SERVER_DATA);
if(!data[0]){
data[0] = (kv_data*)calloc(1, sizeof(kv_data));
if(!data[0]){
return 500;
}
kv_t users;
kv_init(&users, "users", 10, 0, 0, 0);
data[0]->kv = &users;
kv_item item;
item.key = "pierre";
item.klen = sizeof("pierre") - 1;
item.val = "pierre@example.com";
item.flags = 0;
kv_add(data[0]->kv, &item);
data[0]->name = strdup("users");
}
...
这个错误出现在第 15 行,使用 kv_init() 函数。
我的愿望是例如使用 data[0]->kv 来读取和记录“users”存储中的值和使用 data[1]->kv 读取和记录 other 存储中的值...
【问题讨论】:
-
你能澄清你得到的错误吗?
标签: c key-value g-wan key-value-store