搜诶符合你 发表于 2015-7-23 08:48:50

Redis源码研究--跳表

  -------------6月29日--------------------
  简单看了下跳表这一数据结构,理解起来很真实,效率可以和红黑树相比。我就喜欢这样的。



1 typedef struct zskiplist {
2   struct zskiplistNode *header, *tail;
3   unsigned long length;
4   int level;
5 } zskiplist;
  跳表包括头、尾、长度、层数。



1 typedef struct zskiplistNode {
2   robj *obj;
3   double score;
4   struct zskiplistNode *backward;
5   struct zskiplistLevel {
6         struct zskiplistNode *forward;
7         unsigned int span;
8   } level[];
9 } zskiplistNode;
  一个指针指向左边的,指向右边的有多个。
  -----------------------6月30日--------------



1 typedef struct zset {
2   dict *dict;
3   zskiplist *zsl;
4 } zset;
  -------------------7月2日--------------------
  跳表在Redis中的唯一应用是zset。用的多的数据结构还是sds和dict。
  
  
页: [1]
查看完整版本: Redis源码研究--跳表