随笔分类 - Redis设计与实现
摘要:# Redis配置文件样例 # Note on units: when memory size is needed, it is possible to specifiy# it in the usual form of 1k 5GB 4M and so forth:## 1k => 1000 by
阅读全文
摘要:跃进表是一个有序数据结构,它通过在每个节点上维护多个指向其他节点的指针,从而达到快速访问节点的目的; 跃进表支持平均O(logN)、最坏O(N)复杂度的节点查询,还可以通过顺序性来批量处理节点; 大多数情况下,跳跃表与平衡树效率差不多,并且因为跳跃表的实现比平衡树要来的更简单,所以可以使用跳跃表来替
阅读全文
摘要:字典也称为符号表(symbol table)、关联数组(associative array)或者映射(map)是用于保存键值对(key-value pair)的抽象数据结构。 字典中每个键都是唯一的,程序可以在字典中根据键查询与之关联的值(更新、删除)等。 Redis使用字典作为底层实现,对数据库增
阅读全文
摘要:链表提供高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活的调整链表的长度。 1、Redis构建了自己的链表, 链表节点的结构(adlist.h/listNode): typedef struct listNode{ //前置节点 struct listNode *pre; /
阅读全文
摘要:1、简单动态字符串SDS全称simple dynamic string。 SDS是Redis自己构建的抽象类型,并将SDS用作Redis的默认字符串表示。 例如:set msg "hello world" 其中键msg是一个字符串对象,对象的底层实现是一个保存着字符串msg的SDS; 其中值为hel
阅读全文