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);