Redis
张哲and哲哥
做一个徘徊在牛A和牛C之间的人
展开
-
第二章简单动态字符串
1. SDS的定义在Redis中的字符串并不是使用C语言中的char数组保存,而是自定义了一个结构体SDS来保存。redis> SET msg "hello world"OKredis> RPUSH fruits "apple" "banana" "cherry"(integer) 3在上述例子中,不管是key还是val都是使用SDS类型保存。struct sdshdr...原创 2019-04-29 16:26:59 · 146 阅读 · 0 评论 -
Redis第4章字典
1. 字典的实现哈希表Redis的哈希表定义如下:typedef struct dictht { // 哈希表数组 dictEntry **table; // 哈希表大小 unsigned long size; // 哈希表大小掩码,用于计算索引值 // 总是等于 size - 1 unsigned long sizemask...原创 2019-05-05 16:40:15 · 126 阅读 · 0 评论 -
第三章Redis之链表
链表节点定义typedef struct listNode { struct listNode *prev;//前置节点 struct listNode *next;//后置节点 void *value;//节点值}listNode;链表定义typedef struct list { listNode *head;//表头节点 listNode *tail;//表尾节点 un...原创 2019-04-30 11:14:12 · 156 阅读 · 0 评论 -
第五章Redis之跳跃表
跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其它节点的指针,从而达到快速访问节点的目的。跳跃表支持O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。大部分情况下,跳跃表的效率可以和平衡树相媲美,并且因为跳跃表的实现比平衡树来的更为简单,所以不少程序都使用跳跃表来代替平衡树。Redis使用跳跃表作为有序集合键的底层实现之一:如果一...原创 2019-05-11 22:37:35 · 176 阅读 · 0 评论