LevelDB C API 整理分類

來源:互聯網
上載者:User

標籤:int   highlight   close   nap   des   方式   關閉資料庫   檔案   error   

// 結構體列表typedef struct leveldb_t leveldb_t; // 資料庫typedef struct leveldb_cache_t leveldb_cache_t; // 緩衝typedef struct leveldb_comparator_t leveldb_comparator_t; // 比較子typedef struct leveldb_env_t leveldb_env_t; // 環境typedef struct leveldb_filelock_t leveldb_filelock_t; // 檔案鎖typedef struct leveldb_filterpolicy_t leveldb_filterpolicy_t; // 過濾器typedef struct leveldb_iterator_t leveldb_iterator_t; // 迭代器typedef struct leveldb_logger_t leveldb_logger_t; // 日誌typedef struct leveldb_options_t leveldb_options_t; // 選項typedef struct leveldb_randomfile_t leveldb_randomfile_t; //typedef struct leveldb_readoptions_t leveldb_readoptions_t; // 讀選項typedef struct leveldb_seqfile_t leveldb_seqfile_t; //typedef struct leveldb_snapshot_t leveldb_snapshot_t; // 快照typedef struct leveldb_writablefile_t leveldb_writablefile_t; //typedef struct leveldb_writebatch_t leveldb_writebatch_t; // 批寫入typedef struct leveldb_writeoptions_t leveldb_writeoptions_t; // 寫選項// 函數列表/************************************************************ 資料庫API *********************************************************************/// 開啟資料庫extern leveldb_t* leveldb_open( const leveldb_options_t* options,const char* name,char** errptr);// 關閉資料庫extern void leveldb_close(leveldb_t* db);// 添加k-vextern void leveldb_put(leveldb_t* db,const leveldb_writeoptions_t* options, const char* key, size_t keylen,const char* val, size_t vallen,char** errptr);// 刪除k-vextern void leveldb_delete(leveldb_t* db,const leveldb_writeoptions_t* options,const char* key, size_t keylen,char** errptr);// 原子性寫入extern void leveldb_write(leveldb_t* db,const leveldb_writeoptions_t* options,leveldb_writebatch_t* batch,char** errptr);// 擷取k-vextern char* leveldb_get(leveldb_t* db,const leveldb_readoptions_t* options,const char* key, size_t keylen,size_t* vallen,char** errptr);// 擷取屬性值extern char* leveldb_property_value(leveldb_t* db,const char* propname);// 擷取資料庫大概的大小extern void leveldb_approximate_sizes(leveldb_t* db,int num_ranges,const char* const* range_start_key, const size_t* range_start_key_len,const char* const* range_limit_key, const size_t* range_limit_key_len,uint64_t* sizes);// 範圍壓縮extern void leveldb_compact_range(leveldb_t* db,const char* start_key, size_t start_key_len,const char* limit_key, size_t limit_key_len);// 銷毀資料庫extern void leveldb_destroy_db(const leveldb_options_t* options,const char* name,char** errptr);// 修複資料庫extern void leveldb_repair_db(const leveldb_options_t* options,const char* name,char** errptr);//extern void leveldb_free(void* ptr);/************************************************************ 迭代器API *********************************************************************/// 建立迭代器extern leveldb_iterator_t* leveldb_create_iterator(leveldb_t* db,const leveldb_readoptions_t* options);extern void leveldb_iter_destroy(leveldb_iterator_t*);extern unsigned char leveldb_iter_valid(const leveldb_iterator_t*);extern void leveldb_iter_seek_to_first(leveldb_iterator_t*);extern void leveldb_iter_seek_to_last(leveldb_iterator_t*);extern void leveldb_iter_seek(leveldb_iterator_t*, const char* k, size_t klen);extern void leveldb_iter_next(leveldb_iterator_t*);extern void leveldb_iter_prev(leveldb_iterator_t*);extern const char* leveldb_iter_key(const leveldb_iterator_t*, size_t* klen);extern const char* leveldb_iter_value(const leveldb_iterator_t*, size_t* vlen);extern void leveldb_iter_get_error(const leveldb_iterator_t*, char** errptr);/************************************************************ 批量寫入API *******************************************************************///extern leveldb_writebatch_t* leveldb_writebatch_create();extern void leveldb_writebatch_destroy(leveldb_writebatch_t*);extern void leveldb_writebatch_clear(leveldb_writebatch_t*);extern void leveldb_writebatch_put(leveldb_writebatch_t*,const char* key, size_t klen,const char* val, size_t vlen);extern void leveldb_writebatch_delete(leveldb_writebatch_t*,const char* key, size_t klen);extern void leveldb_writebatch_iterate(leveldb_writebatch_t*,void* state,void (*put)(void*, const char* k, size_t klen, const char* v, size_t vlen),void (*deleted)(void*, const char* k, size_t klen));/************************************************************** 選項器API *********************************************************************///extern leveldb_options_t* leveldb_options_create();extern void leveldb_options_destroy(leveldb_options_t*);extern void leveldb_options_set_comparator(leveldb_options_t*,leveldb_comparator_t*);extern void leveldb_options_set_filter_policy(leveldb_options_t*,leveldb_filterpolicy_t*);extern void leveldb_options_set_create_if_missing(leveldb_options_t*, unsigned char);extern void leveldb_options_set_error_if_exists(leveldb_options_t*, unsigned char);extern void leveldb_options_set_paranoid_checks(leveldb_options_t*, unsigned char);extern void leveldb_options_set_env(leveldb_options_t*, leveldb_env_t*);extern void leveldb_options_set_info_log(leveldb_options_t*, leveldb_logger_t*);extern void leveldb_options_set_write_buffer_size(leveldb_options_t*, size_t);extern void leveldb_options_set_max_open_files(leveldb_options_t*, int);extern void leveldb_options_set_cache(leveldb_options_t*, leveldb_cache_t*);extern void leveldb_options_set_block_size(leveldb_options_t*, size_t);extern void leveldb_options_set_block_restart_interval(leveldb_options_t*, int);enum {leveldb_no_compression = 0,leveldb_snappy_compression = 1};extern void leveldb_options_set_compression(leveldb_options_t*, int);/************************************************************** 比較子API *********************************************************************///extern leveldb_comparator_t* leveldb_comparator_create(void* state,void (*destructor)(void*),int (*compare)(void*,const char* a, size_t alen,const char* b, size_t blen),const char* (*name)(void*));extern void leveldb_comparator_destroy(leveldb_comparator_t*);/************************************************************** 過濾器API *********************************************************************///extern leveldb_filterpolicy_t* leveldb_filterpolicy_create(void* state,void (*destructor)(void*),char* (*create_filter)(void*,const char* const* key_array, const size_t* key_length_array,int num_keys,size_t* filter_length),unsigned char (*key_may_match)(void*,const char* key, size_t length,const char* filter, size_t filter_length),const char* (*name)(void*));extern void leveldb_filterpolicy_destroy(leveldb_filterpolicy_t*);extern leveldb_filterpolicy_t* leveldb_filterpolicy_create_bloom(int bits_per_key);/************************************************************** 讀選項API *********************************************************************///extern leveldb_readoptions_t* leveldb_readoptions_create();extern void leveldb_readoptions_destroy(leveldb_readoptions_t*);extern void leveldb_readoptions_set_verify_checksums(leveldb_readoptions_t*,unsigned char);extern void leveldb_readoptions_set_fill_cache(leveldb_readoptions_t*, unsigned char);extern void leveldb_readoptions_set_snapshot(leveldb_readoptions_t*,const leveldb_snapshot_t*);/************************************************************** 寫選項API *********************************************************************/// 建立寫入選項變數extern leveldb_writeoptions_t* leveldb_writeoptions_create();// 銷毀extern void leveldb_writeoptions_destroy(leveldb_writeoptions_t*);// 設定寫入選項是否非同步方式寫入extern void leveldb_writeoptions_set_sync(leveldb_writeoptions_t*, unsigned char);/**************************************************************** 緩衝API *********************************************************************/// 安居lru演算法建立緩衝extern leveldb_cache_t* leveldb_cache_create_lru(size_t capacity);// 銷毀緩衝extern void leveldb_cache_destroy(leveldb_cache_t* cache);/************************************************************ 環境API **********************************************************************/// 建立預設環境變數extern leveldb_env_t* leveldb_create_default_env();// 銷毀環境變數extern void leveldb_env_destroy(leveldb_env_t*);/************************************************************ 快照API **********************************************************************/// 建立快照extern const leveldb_snapshot_t* leveldb_create_snapshot(leveldb_t* db);// 將快照和資料庫關聯extern void leveldb_release_snapshot(leveldb_t* db,const leveldb_snapshot_t* snapshot);/************************************************************ 工具API **********************************************************************/// 擷取主要版本好extern int leveldb_major_version();// 擷取子版本號碼extern int leveldb_minor_version();

  

LevelDB C API 整理分類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.