redis 常用数据类型六(扩展了解) 跳跃表


redis跳跃表

简介

有序集合在生活中比较常见,例如根据成绩对学生排名,根据得分对玩家排名等。对于有序集合的底层实现,可以用数组、平衡树、链表等。数组不便元素的插入、删除;平衡树或红黑树虽然效率高但结构复杂;链表查询需要便利所有效率低。redis采用的是跳跃表。跳跃表的效率堪比红黑树,实现远比红黑树简单。

实例

对比有序链表和跳跃表,从链表中查出51

(1)有序链表

要查找值为51的元素,需要从第一个元素一次查找、比较才能找到。共需要6次比较

(2)跳跃表