07 2017 档案

redis源码分析(4)-- 基本数据结构字典dict
摘要:一、字典结构 Redis中字典采用hash表结构,如下: table是一个数组,每个元素指向一个dictEntry结构。size表示hash表大小,used表示使用的大小。一个size=4的空hash表如下: dictEntry是一个key-value pair, 定义为: next指针用于解决ha 阅读全文

posted @ 2017-07-24 23:20 ym65536 阅读(744) 评论(0) 推荐(0)

redis源码分析(3)-- 基本数据结构双链表list
摘要:一、双链表结构 redis中实现的双链表结构体如下: 包含三个节点的list组成如图: 每个listNode的结构: Redis链表list特点: 1、双端:每个节点包括前向指针prev和后级指针next,获取节点前后节点都是O(1) 2、无环:首节点prev=NULL,尾节点next=NULL 3 阅读全文

posted @ 2017-07-22 23:55 ym65536 阅读(454) 评论(0) 推荐(0)

redis源码分析(2)-- 基本数据结构sds
摘要:一、sds格式 sds header定义: sizeof(struct sdshdr)= 2*sizeof(unsigned int), char buf[]等价于char buf[0], 仅对编译器有效,并不实际占用存储。 其中len是使用的长度,free是剩余的长度,再加上一个C语言中的'\0' 阅读全文

posted @ 2017-07-08 23:05 ym65536 阅读(873) 评论(0) 推荐(0)