Sutdown Blog

「我相信我的命运因我的选择而转动着」

My first blog based github

啊哈,我好懒,其实之前也搭建过网站,用的宝塔面板+typora,然后用了些域名还租了个服务器,一年大概两百吧,其实我搞不太懂宝塔面板,那会就照葫芦画瓢勉强弄了一个,后来出来点问题也不太会修,遂放弃,不过文章大多都有存档。 今天看到了github可以直接生成静态页面,兴致上来了就想着弄弄,还不用花钱,搞了差不多两小时,emmm,git在用代理的时候总容易出问题,这个就消耗了好久。其实不难,就...

leveldb源码阅读5 Compaction And Version

compaction 作用:leveldb - handbook 数据持久化。一次minor compaction的产出是一个0层的sstable文件,其中包含了所有的内存数据。但是若干个0层文件中是可能存在数据overlap的。 提高读写效率。Major Compaction的过程,将0层中的文件合并为若干个没有数据重叠的1层文件。对于没有数据重叠的...

leveldb源码阅读4 snapshot,Bloom Filter

snapshot snapshot是什么,有什么用 snapshot是一种机制,用于在数据库读取时保持一致的视图,确保在读取数据时,写入操作不会影响读取结果,从而提供一种简单的并发控制方式。LevelDB 的快照机制通过版本管理和引用计数来实现一致性读取,确保读操作在写入操作发生时不会受到影响。版本管理机制在leveldb5中会讲解,这里暂时掠过。 这个.h文件中的信息有限,主要是有三...

leveldb源码阅读3 filesysytem

sstable 感谢这个博主MrCroxx,看了这么多对leveldb的讲解,他的文章是最为明了的!本文中由部分引用他的原文,在此先声明。 插入,对于以下部分内容的概览,有利于理解cache的实现。 来源:一只安静的猫 2.1 hash table数据结构 哈希表是一个很常见的结构了,存储的是key-value结构,一个key-value对常被称作entry,它最大的特点...

leveldb源码阅读2 memtable(skiplist)

前言 leveldb是一个写性能十分优秀的存储引擎,是典型的LSM树(Log Structured-Merge Tree)实现。LSM树的核心思想就是放弃部分读的性能,换取最大的写入能力。 leveldb如何读写的呢 LSM树写性能极高的原理,简单地来说就是尽量减少随机写的次数。对于每次写入操作,并不是直接将最新的数据驻留在磁盘中,而是将其拆分成(1)一次日志文件的顺序写(2)一次内存...

普通人的自述

小时候,对事情都只有些许模糊的认知,每天一块钱,还能悄悄留五毛和我的弟弟傍晚在回家的路上买点零食,比如一毛的糖果或者辣条;也会有几个好友,在某个大石头附近当作一个秘密基地,那时网络还不怎么发达,虫儿飞,荷塘月色就是那时接触的最多的音乐。 13年,是我人生的第一个转折点。 那一年,从乡下的小学校去到了市里私立小学,同村那年因为学校的招生,去了三四个人吧,后来陆续的,有因为学费,也有因为跟不...

leveldb源码阅读1 基本结构

Leveldb源码阅读1 引言 一直听说这个项目的质量很高,终于来见识一下了。今天剩余时间不多,重在理清以下两个问题就行。 为什么会出现leveldb,谷歌怎么想到实现它的,它的作用是什么。 leveldb的代码结构是什么样子,涉及到哪些熟悉或者不熟悉的知识点。 正文 Leveldb的特点 levelDb是能够处理十亿级别规模Key-Value型数...

MyTinySTL

MyTinySTL [!NOTE] 学习基础:C++基础知识,数据结构和算法,C++新特性,模板元编程 参考书籍:STL源码剖析 根据阅读代码方法,文章会重点说明1. 各代码间的逻辑;2. 各模块的实现方式(细化,了解流程语法) STL源码剖析 STL六大组件: containers,algorithm, iterator:扮演容器和算法之间的胶合剂,是所谓的...

Webserver-sum

从面试角度重新看c++11的Webserver 从main函数开始审视整个流程 WebServer server 端口1316,ET模式3,timeoutMs60000,优雅退出false; Mysql配置端口3306,用户名“root”,用户密码“root”,数据库名称“webserver”; 连接池数量12,线程池数量6,日志开关true,日志等级1,日志同步...

Webserver

[!Note] 推荐书籍: linux高性能服务器编程 UNIX环境高级编程 UNIX网络编程 具体模块: 线程同步封装类,半同步半反应堆线程池 HTTP连接管理 服务器优化:定时器处理,日志系统, 压测,数据库连接池,注册登录 环境配置 绷,果然配环境始终都是很难的一步。 这个说是要在ubuntu16.04环境上运行,搭建环境的话据...