为什么redis中会采用skiplist
2016-10-13 11:01
232 查看
redis既然是单线程,采用skiplist作为索引,相对于传统的红黑树而言,查询速度相仿,优势在哪里
关键在于redis是一个经常需要做插入删除操作的kv容器。
redis有超时剔除机制,需要对key维护一个时间维度的索引或者队列,剔除超时的记录。剔除同时就需要对索引进程插入删除操作
skiplist插入删除worst case的时间复杂度会比红黑树小很多
关键在于redis是一个经常需要做插入删除操作的kv容器。
redis有超时剔除机制,需要对key维护一个时间维度的索引或者队列,剔除超时的记录。剔除同时就需要对索引进程插入删除操作
skiplist插入删除worst case的时间复杂度会比红黑树小很多
相关文章推荐
- 【总结】为什么ITOO学生端Redis采用list结构
- 自问自答1——为什么深度学习不采用牛顿法及其衍生算法作为优化算法?
- 敏捷开发代码管理规则:为什么要采用单一主干代码管理?如何做到单一主干代码管理?
- 采用redis作为独立缓存服务器(三)_spring Cache后传之aop优化
- Redis为什么使用单进程单线程方式也这么快
- TCP为什么采用随机初始序列号
- Redis 为什么使用单进程单线程方式也这么快
- 为什么使用 Redis及其产品定位
- Redis采用不同内存分配器碎片率对比
- 为什么要使用redis数据库?
- 【原创】大公司为什么还在采用过时的技术
- redis为什么是单线程
- 为什么 Android 要采用 Binder 作为 IPC 机制?
- 为什么使用 Redis及其产品定位
- 为什么采用达龙平台实施桌面虚拟化更合适?
- html为什么需要采用表单提交数据
- 802.11为什么采用CSMA/CA协议
- 为什么redis不共享包含字符串的对象
- Redis为什么使用单进程单线程方式
- Spring Boot+Shiro+Redis(redisson)整合时,采用内嵌tomcat启动错误原因分析