开源代码
文章平均质量分 71
kq_zhou
这个作者很懒,什么都没留下…
展开
-
redis基本数据结构(1)
redis的作者为了方便自己的使用,在redis中定义了动态字符串sds,链表,字典dict,跳跃表skiplist,整数集合intset和压缩列表ziplist这六种数据结构。下文,我简要地介绍一下几种数据结构的定义。动态字符串sdssds的全称叫simple dynamic string,它的定义和注释如下struct sdshdr { //buf数组中已使用的空间的长度 uns原创 2015-10-27 19:23:46 · 528 阅读 · 0 评论 -
我的leveldb总结
leveldb是一个单节点的k/v数据存储系统,它的特点是写操作非常快而读操作则会慢一些。整个系统的结构图如下所示: 下面结合我自己的理解,分析一下整个leveldb工作的原理 转换流程: 如图中所示,memtable和immutable memtable以及cache是存储在内存中的数据,其中memtable和immutable memtable的结构是一样的,都是在skiplist的数原创 2015-10-14 14:09:13 · 1032 阅读 · 0 评论 -
redis基本数据结构(2)
字典dictdict的主要实现从低到高依赖以下三个数据结构://具体的hash表的一项,用指正组成一个链表typedef struct dictEntry { void *key;//键 //值,联合体,可以使多种类型的值 union { void *val; uint64_t u64; int64_t s64;原创 2015-10-29 19:53:44 · 554 阅读 · 0 评论