跳跃表是一种有序的数据结构,通过在每个节点中维持多个指向其他节点的指针,从而实现快速访问节点;
跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点;
Redis使用跳跃表作为有序集合建(ZSet)的底层实现之一;若一个有序集合包含的元素数量较多,或有序集合中元素的成员是较长字符串时,Redis就会使用跳跃表作为有序集合键的底层实现;
Redis只在两个地方使用到了跳跃表:① 有序集合键的底层实现、② 集群节点中用作内部数据结构;
跳跃表的实现
Redis的跳跃表由redi