
redis
岚漾忆雨
这个作者很懒,什么都没留下…
展开
-
redis源码分析(2)——SDS API详解
源码分析章节,我尽量使用原生的redis源码,不去看黄建宏的注释,提高自己阅读源码的能力,此外,redis版本还是3.0 源码下载,大家可以到这 http://download.redis.io/releases/sdsnewtypedef char *sds;sds sdsnewlen(const void *init, size_t initlen) { struct sdshd原创 2017-12-19 22:48:51 · 634 阅读 · 0 评论 -
redis源码分析(3)——redis链表
定义adlist.htypedef struct listNode{ struct listNode *prev; struct listNode *next; void *value;}可以看出,redis的链表是一个双向链表,拥有前驱和后继,数据域为void型指针,意味着数据域可以指向需要的类型。管理链表adlist.htypedef struct list{原创 2017-12-24 20:31:44 · 381 阅读 · 0 评论 -
redis源码分析(1)——简单字符串的实现
本系列所有文章基于《Redis设计与实现》学习而做的随笔,以后不再赘述c语言的字符串首先,我们都知道,Redis是用c语言实现的,而c语言,有个很大的弊端,那就是没有原生的字符串,字符串,是使用字符数组实现的。 基于这个原因,我们可以分析一下c字符串的缺点。 1. 字符串的拼接需要提前判断空间是否足够,否则可能造成缓冲区溢出。此外还必须进行malloc分配内存占用大量系统资源。 2. 字符串原创 2017-12-18 22:56:14 · 369 阅读 · 0 评论