- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 redis源码分析-ziplist(压缩链表)
ziplist结构在redis运用非常广泛,是列表、字典等数据类型的底层结构之一。ziplist的优点在于能够一定程度地节约内存。ziplist构成ziplist结构由zip_header、zip_entry、zip_end三部分组成。ZIP_HEADER:顾名思义,压缩列表的头部。内部包含ZIP_BYTES、ZIP_TAIL、ZIP_LENGTH属性。
2016-07-31 11:20:39 1638
原创 redis源码分析-dict(字典结构)
—、简介众所周知,字典是采用哈希表结构实现的。redis也不例外,代码位于dict.c 和 dict.h。为了解决hash键冲突的问题,redis采用“拉链式”进行设计。 由于网上有大量的hash结构及相关操作说明,笔者将不再介绍。本文的重点主要讲解dict的数据结构、运作流程及rehash实现。二、数据结构redis字典由dictEntry(节点)、dictType(类型)、dic
2016-07-18 21:18:57 790
原创 redis源码分析-adlist(链表)
一、介绍上一节,介绍了sds结构,接下来将介绍下redis的adlist(又称链表).redis的链表采用双向链表方式进行实现,代码位于src/adlist.h、src/adlist.c .二、数据结构C语言数据结构中双向链表结构由节点(listNode)、迭代器(listIterator)、容器(list)组成,redis也是如此。节点typedef struct listNode {
2016-07-10 17:22:59 568
原创 redis源码分析-sds字符串
介绍等待简易动态的sds字符串1.介绍在c语言中,一般使用char*定义字符串类型,但redis却采用sds结构保存字符串。那么redis为什么弃用char而改用sds呢?这样做是基于哪方面的考虑?这样做的优点又有哪些呢?2.char与sds比较首先,回到原点,我们看下sds的数据结构(以下为3.0版本代码)。struct sdshdr { int len
2016-07-04 21:25:19 555
(高性能PHP应用开发.pdf
2017-03-20
深入PHP面向对象、模式与实践_第三版
2017-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人