redis既然是单线程,采用skiplist作为索引,相对于传统的红黑树而言,查询速度相仿,优势在哪里
- 关键在于redis是一个经常需要做插入删除操作的kv容器。
- redis有超时剔除机制,需要对key维护一个时间维度的索引或者队列,剔除超时的记录。剔除同时就需要对索引进程插入删除操作
- skiplist插入删除worst case的时间复杂度会比红黑树小很多
本文探讨了Redis为何选择使用跳表而非红黑树作为数据结构的原因。重点在于Redis作为一个频繁进行增删操作的KV存储系统,跳表在插入和删除操作上的效率优势。
redis既然是单线程,采用skiplist作为索引,相对于传统的红黑树而言,查询速度相仿,优势在哪里
1802
1131
385
577
1255

被折叠的 条评论
为什么被折叠?