
redis读书笔记
主要是学习redis设计与实现的读书笔记。
darkMoon_wlm
这个作者很懒,什么都没留下…
展开
-
Redis笔记之基本数据结构 字典
字典 符号表、关联数组或者映射,有点类似于java中的map,用于保存键值对key-value。字典中的键key是独一无二的。底层实现为哈希表。下面进行简述: 哈希表。哈希表主要包含table数组、size、sizemask以及used。table用于保存哈希表节点,保存数据;sizemask为哈希表掩码用于计算索引;size用于保存table大小;used用于保存已经保存的节点数目,如图dic...原创 2020-04-20 22:40:30 · 236 阅读 · 0 评论 -
Redis笔记之基本数据结构 链表
链表 链表具有空间存储不连续,增删节点快的优点,因此redis在列表键、发布与订阅、慢查询、监视器等使用了链表作为底层实现。由于C语言中没有内置的链表实现,因此redis自己进行了实现。 双向链表。每个listtNode都有perv和next指针,指向前一个节点以及后一个节点,在head和tail中保存了头节点和尾节点; 使用len属性保存链表的长度,获得链表长度的时间复杂度为o(1); 多态...原创 2020-04-17 21:42:02 · 181 阅读 · 0 评论 -
Redis笔记之基本数据结构 动态字符串SDS
简单动态字符串 传统上的C语言的字符串表示是以空字符结尾的字符数组(C字符串),redis自己实现一个动态字符串(SDS),两者之间的区别以及使用SDS的好处有: 结构不同。C字符串以空字符结尾的字符数组,而SDS表现的更为复杂,使用一个结构体来表示一个SDS,如图所示。其中,free属性表示buffer字符数组中剩余的空间,len表示已经使用的空间。另外,SDS遵守C字符串的惯例,以空字符结尾...原创 2020-04-17 21:18:49 · 212 阅读 · 0 评论