2022-04-08 redis的跳表

跳表: 名词听起来高大上,其实意思就是,查询的时候,可以不是一个一个的遍历key,而是跳跃性的查找key;
什么是跳跃性的查找key呢?也很简单,如下图


image.png

原始链表中 如果找 7 这个元素,需要遍历7次
然后跳表的操作,其实就是在key的适当位置建立索引,L1 就是第一层索引,L2为第二层,那么在此找元素7,就是需要两次即可,这就是跳表......

那么此种方法熟悉mysql的小伙伴应该熟悉,这跟那个索引有点类似,不过不是树的结构,仅仅是向上提取关键索引的感觉,然后这是一种利用索引加速查找,是利用空间换时间的方案,那么弊端 会不会占用很大的内存呢? 其实不会的,因为索引只是指针,很小,当数据量很大的时候,这种跳表设计的查询速度很快,而弊端可以忽略不计;

[redis是单线程的为什么速度还这么快?]

1.redis是基于内存的,内存的读写速度非常快;
2.redis是单线程的,省去了很多上下文切换线程的时间;
3.redis使用多路复用技术,可以处理并发的连接;

你可能感兴趣的:(2022-04-08 redis的跳表)