// 结构体列表
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-v
extern 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-v
extern 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-v
extern 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 整理分类的更多相关文章

  1. canvas学习之API整理笔记(二)

    前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...

  2. HTML5 <Audio/>标签Api整理(二)

    1.实例2: 相对较完整 Html代码: <style> #volumeSlider .slider-selection { background:#bababa; } </styl ...

  3. Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI

    目录 引言 Search APIs Search API Search Request 可选参数 使用 SearchSourceBuilder 构建查询条件 指定排序 高亮请求 聚合请求 建议请求 R ...

  4. Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries

    目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries 什么是全文查询? Match 全文查询 API 列表 基于词项的查询 Term Term ...

  5. HTML5 <Audio>标签API整理(三)

    一.浏览器支持 Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 都支持 <audio> 元素. 注意: Internet Ex ...

  6. 【转】Bootstrap FileInput中文API整理

    Bootstrap FileInput中文API整理 这段时间做项目用到bootstrap fileinput插件上传文件,在用的过程中,网上能查到的api都不是很全,所以想着整理一份比较详细的文档, ...

  7. Bootstrap FileInput 上传 中文 API 整理

    Bootstrap FileInput 上传  中文 API 整理 上传插件有很多 但是公司用的就是 Bootstrap FileInput 自己就看了看  会用就行 自己都不知道每个值是干嘛用的就问 ...

  8. qq开放平台可以应用到网页游戏的api整理

    创建角色界面api整理 一.需求描述 1.  创建角色名称可以用qq空间昵称代替 2.  如果玩家是在新区玩的话,赠送老玩家支持礼包 3.  可以看到,好友xxx也在玩,而且到了多少等级,如果加为好友 ...

  9. OpenLayers API整理

    整理的Openlayers 的知识笔记,随着运用不断加深理解,也会不断更新. 本文链接:Openlayers API整理 作者:狐狸家的鱼 GitHub:八至 一.创建地图 1.地图Map 创建地图底 ...

随机推荐

  1. django-个人博客登录及权限验证功能的实现

    完成注册后随即开始进行登录,登录后页面显示登录者的名称 实现如下: 前端页面html,对session进行判断,有值则显示登录者的名字 ,无值则显示注册字样: 后台views函数  首先对验证码进行验 ...

  2. java接口多实现和多继承

    package test; interface mouth { public abstract void speak(); } interface nose{ public abstract void ...

  3. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

  4. Basic 001 Bob

    Instructions Bob is a lackadaisical teenager. In conversation, his responses are very limited.Bob an ...

  5. Luogu CF451E Devu and Flowers 题解报告

    题目传送门 [题目大意] 有n种颜色的花,第i种颜色的花有a[i]朵,从这些花中选m朵出来,问有多少种方案?答案对109+7取模 [思路分析] 这是一个多重集的组合数问题,答案就是:$$C_{n+m- ...

  6. 【汇编语言】DOXBox 0.74 常用debug命令

    1.查看.修改寄存器(r命令) ①-r ②-r  ax(要修改的寄存器) -:m(输入想要改成什么值) 2.查看内存单元(d命令) ①-d 查看128个内存单元内容. ②-d 段地址:偏移地址 查看指 ...

  7. NPOI 读取excel的时候,时间格式的处理

    excel的时间格式是:CellType.Numeric 要判断时间还需要方法:DateUtil.IsCellDateFormatted(cell)的帮助: 示例代码如下: ICell cell = ...

  8. word20170106在机场 At the airport有用的词和句子

    有用的词: airport terminal: 航站楼 domestic flight: 国内航班 international flight: 国际航班 checked luggage: 托运行李 c ...

  9. css3新单位vw、vh、vmin、vmax的使用详解(转载)

    文章传送门: https://blog.csdn.net/ZNYSYS520/article/details/76053961

  10. gradle 编译 "aapt.exe'' finished with non-zero exit value 1 问题

    升级了一下android studio的版本,从3.0升级到3.3,升级过后,编译确实快了不少,但项目导入后一直报 "aapt.exe'' finished with non-zero ex ...