LevelDB C API 整理分类
// 结构体列表
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 整理分类的更多相关文章
- canvas学习之API整理笔记(二)
前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...
- HTML5 <Audio/>标签Api整理(二)
1.实例2: 相对较完整 Html代码: <style> #volumeSlider .slider-selection { background:#bababa; } </styl ...
- Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI
目录 引言 Search APIs Search API Search Request 可选参数 使用 SearchSourceBuilder 构建查询条件 指定排序 高亮请求 聚合请求 建议请求 R ...
- Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries
目录 上篇回顾 Building Queries 匹配所有的查询 全文查询 Full Text Queries 什么是全文查询? Match 全文查询 API 列表 基于词项的查询 Term Term ...
- HTML5 <Audio>标签API整理(三)
一.浏览器支持 Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 都支持 <audio> 元素. 注意: Internet Ex ...
- 【转】Bootstrap FileInput中文API整理
Bootstrap FileInput中文API整理 这段时间做项目用到bootstrap fileinput插件上传文件,在用的过程中,网上能查到的api都不是很全,所以想着整理一份比较详细的文档, ...
- Bootstrap FileInput 上传 中文 API 整理
Bootstrap FileInput 上传 中文 API 整理 上传插件有很多 但是公司用的就是 Bootstrap FileInput 自己就看了看 会用就行 自己都不知道每个值是干嘛用的就问 ...
- qq开放平台可以应用到网页游戏的api整理
创建角色界面api整理 一.需求描述 1. 创建角色名称可以用qq空间昵称代替 2. 如果玩家是在新区玩的话,赠送老玩家支持礼包 3. 可以看到,好友xxx也在玩,而且到了多少等级,如果加为好友 ...
- OpenLayers API整理
整理的Openlayers 的知识笔记,随着运用不断加深理解,也会不断更新. 本文链接:Openlayers API整理 作者:狐狸家的鱼 GitHub:八至 一.创建地图 1.地图Map 创建地图底 ...
随机推荐
- django-个人博客登录及权限验证功能的实现
完成注册后随即开始进行登录,登录后页面显示登录者的名称 实现如下: 前端页面html,对session进行判断,有值则显示登录者的名字 ,无值则显示注册字样: 后台views函数 首先对验证码进行验 ...
- java接口多实现和多继承
package test; interface mouth { public abstract void speak(); } interface nose{ public abstract void ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- Basic 001 Bob
Instructions Bob is a lackadaisical teenager. In conversation, his responses are very limited.Bob an ...
- Luogu CF451E Devu and Flowers 题解报告
题目传送门 [题目大意] 有n种颜色的花,第i种颜色的花有a[i]朵,从这些花中选m朵出来,问有多少种方案?答案对109+7取模 [思路分析] 这是一个多重集的组合数问题,答案就是:$$C_{n+m- ...
- 【汇编语言】DOXBox 0.74 常用debug命令
1.查看.修改寄存器(r命令) ①-r ②-r ax(要修改的寄存器) -:m(输入想要改成什么值) 2.查看内存单元(d命令) ①-d 查看128个内存单元内容. ②-d 段地址:偏移地址 查看指 ...
- NPOI 读取excel的时候,时间格式的处理
excel的时间格式是:CellType.Numeric 要判断时间还需要方法:DateUtil.IsCellDateFormatted(cell)的帮助: 示例代码如下: ICell cell = ...
- word20170106在机场 At the airport有用的词和句子
有用的词: airport terminal: 航站楼 domestic flight: 国内航班 international flight: 国际航班 checked luggage: 托运行李 c ...
- css3新单位vw、vh、vmin、vmax的使用详解(转载)
文章传送门: https://blog.csdn.net/ZNYSYS520/article/details/76053961
- gradle 编译 "aapt.exe'' finished with non-zero exit value 1 问题
升级了一下android studio的版本,从3.0升级到3.3,升级过后,编译确实快了不少,但项目导入后一直报 "aapt.exe'' finished with non-zero ex ...