您的位置:首页 > 其它

leveldb源码分析之五

2017-08-11 23:42 302 查看
options.create_if_missing = true;##前言

之前篇章写了数据库的初始化,貌似啥没干太多事情,其实连文件都没创建,仅仅是在内存中保持了一个wrateable的数据结构,应该是按需创建的逻辑,真的数据库创建更是距离遥远,这里我们暂时不追究,继续我们源码阅读,看看到底如何创建的。

正文

其实db_->open,做了很多事情,这里很难完全解释,我们只好在自己写个最简单的测试代码,创建一个数据库,然后运行,

leveldb::Options options;
options.reuse_logs = false;
options.create_if_missing = true;
leveldb::DB* db_;
std::string dbname_ = "/mnt/c/work/source/testdb.db";

leveldb::DB::Open(options, dbname_, &db_);
db_->Put(leveldb::WriteOptions(),"love","life");//
db_->Put(leveldb::WriteOptions(),"hello","world");


第一次运行后,在特定目录中产生了这么几个文件

[img]https://img-blog.csdn.net/20170810210546089?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjgyODIzMTc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss![这里写图片描述](
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: