自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 1608

原创 redis源码分析-dict(字典结构)

—、简介 众所周知,字典是采用哈希表结构实现的。redis也不例外,代码位于dict.c 和 dict.h。为了解决hash键冲突的问题,redis采用“拉链式”进行设计。 由于网上有大量的hash结构及相关操作说明,笔者将不再介绍。本文的重点主要讲解dict的数据结构、运作流程及rehash实现。 二、数据结构 redis字典由dictEntry(节点)、dictType(类型)、dic

2016-07-18 21:18:57 758

原创 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 547

原创 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 540

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除