2014年6月28日

leveldb源码分析--WriteBatch

摘要: 从【leveldb源码分析--插入删除流程】和WriteBatch其名我们就很轻易的知道,这个是leveldb内部的一个批量写的结构,在leveldb为了提高插入和删除的效率,在其插入过程中都采用了批量集合相邻的多个具有相同同步设置的写请求以批量的方式进行写入。其成员变量仅包含了一个 std::st... 阅读全文

posted @ 2014-06-28 18:41 tgates 阅读(2435) 评论(0) 推荐(0) 编辑

leveldb源码分析--Key结构

摘要: 【注】本文参考了sparkliang的专栏的Leveldb源码分析--3并进行了一定的重组和排版经过上一篇文章的分析我们队leveldb的插入流程有了一定的认识,而该文设计最多的又是Batch的概念。这篇文章本来应该顺理成章的介绍Batch相关流程和结构了,但是Batch涉及到了一些编码和Key相关... 阅读全文

posted @ 2014-06-28 16:24 tgates 阅读(1181) 评论(0) 推荐(0) 编辑

leveldb源码分析--插入删除流程

摘要: 由于网络上对leveldb的分析文章都比较丰富,一些基础概念和模型都介绍得比较多,所以本人就不再对这些概念以专门的篇幅进行介绍,本文主要以代码流程注释的方式。首先我们从db的插入和删除开始以对整个体系有一个感性的认识,首先看插入:Status DB::Put(const WriteOptions& ... 阅读全文

posted @ 2014-06-28 15:11 tgates 阅读(2939) 评论(0) 推荐(0) 编辑

【转】数据分析与处理之二(Leveldb 实现原理)

摘要: 郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可以浏览原始页面 :-),感兴趣的... 阅读全文

posted @ 2014-06-28 12:24 tgates 阅读(887) 评论(0) 推荐(0) 编辑

2014年6月27日

leveldb开篇

摘要: 因为工作的需求,最近看了一些项目的源码,包括nginx、tair、leveldb,一直看了下来都没有写东西的习惯,虽然作了不少记录,但都是只有自己才能看懂的笔记。 好多次都说开始写blog,锻炼一下自己的写作能力,在此mark决定以后坚持写。每周至少一篇文章,即使不是完全自主版权也得改改贴贴,... 阅读全文

posted @ 2014-06-27 10:04 tgates 阅读(1055) 评论(0) 推荐(0) 编辑

2014年6月26日

【转】stropts.h: No such file or directory – How to Fix

摘要: 原文地址:stropts.h: No such file or directory – How to Fix作者:xjc2694It is a known issue that modern Linux systems are missingstropts.hfile. You will proba... 阅读全文

posted @ 2014-06-26 20:54 tgates 阅读(1360) 评论(0) 推荐(1) 编辑

nginx 的socket 选项处理--TCP_DEFER_ACCEPT

摘要: 在nginx listen配置项的说明中有一个选项: deferred -- indicates to use that postponed accept(2) on Linux with.the aid of optionTCP_DEFER_ACCEPT. 我们知道通常影响服务端性能的四大原因... 阅读全文

posted @ 2014-06-26 20:50 tgates 阅读(2220) 评论(0) 推荐(0) 编辑

导航