---- redis
卓修武
- 程序猿
- 健身
- 看书
展开
-
redis-SDS 分析
SDSSDS是 redis 内置的字符串对象,redis没有使用C 自带的字符串结构,而是自己实现 字符串的表示结构。SDS 数据结构定义在 sds.h中定义了 sds的结构 - len 表示字符串的长度 (不包含末尾的空终止字符 ‘\0’) - alloc 申请的内存能够容纳的最大字符长度,不包含Header结构和最后的空终止字符 - flags header的类型 - []buf 存储的原创 2017-07-13 00:05:53 · 689 阅读 · 1 评论 -
redis 的链表简单解析
链表链表作为计算机程序最常用的数据结构之一,redis当然也提供了实现。redis 在 adlist文件中实现了双端链表。redis中链表及链表节点的实现掌握链表的核心思想,不同语言的链表实现基本上都一样。在redis中,首先用 一个结构体 listNode 定义了链表的每个节点 c typedef struct listNode { struct listNode *prev原创 2017-07-15 17:30:20 · 645 阅读 · 0 评论 -
redis-skipList 源码解析
跳跃表SkipList是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。具体的介绍可以参考这篇博文跳跃表的数据结构Redis的跳跃表由节点 server.h/zskiplistNode 和表 server.h/zskiplist 实现. “`c /* ZSETs use a specializ原创 2017-07-18 22:11:34 · 414 阅读 · 0 评论 -
Redis 跳跃表 浅析
跳跃表 SkipList是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。具体的介绍可以参考这篇博文 跳跃表的数据结构 Redis的跳跃表由节点 server.h/zskiplistNode 和表 server.h/zskiplist 实现. “`c /* ZSETs use a ...原创 2018-03-23 10:47:22 · 470 阅读 · 0 评论