0%

前言·

上文中介绍了redis内部的各个数据结构,由于ziplist 是为节约内存而设计,个人t比较感兴趣,本篇详细分析其源码。

阅读全文 »

0. 前言·

几年前分析过持久化KV数据库–LevelDB, 从今天开始,逐渐分析内存KV数据库–Redis。实际上也是《Redis设计与实现》的读书笔记。

本篇为redis内常用基本数据结构介绍。

阅读全文 »

1. 前言·

一年多前做过mit 6824, 学习了raft,不过当时更多是从代码层面记录博文,最近正好在系统学习分布式的知识,本文从理论角度全面细谈Raft。

阅读全文 »

最近在读《深入理解分布式系统》,书中所描述的Multi-Paxos个人觉得不太好理解。本文结合书和网络上的资料,记录下Paxos的基本流程。

阅读全文 »

一直以来对"并发"相关的主题都蛮感兴趣的,但这一块也确实非常复杂,因为同时涉及了硬件设计和软件协议。比如再看c++ memory order时,一定见过这些词语:重排序、乱序执行,分支预测、预测执行、MSEI、volatile,内存屏障、store buffer, invalidate queue, sequential order(SC)、TSO、PSO内存模型、happens before, synchronized-with、sequenced-before、program order等等名词。作为一个非科班的开发人员,大概率是会被绕晕的。这篇文章,就来谈谈这些概念,当然最终目标是理解c++11中提出的几大常见内存序该如何使用。由于水平有限,难免出错,也希望指正。

阅读全文 »

string是c++中标准的字符类(其实字节类更贴切),几乎所有项目都在使用(除非是明令禁止),了解其内部实现,可以帮我们更好的使用它。今天来分析下它。

本文分析的是 3.3 版本string,额外介绍了一些新版的实现。

阅读全文 »