深入 Redis 数据结构和底层原理
1 概述
Redis 为什么能支持每秒钟十万级的高并发?
基于内存的存取方式
高效的数据结构
单线程,使用多路 I/O 复用模型,非阻塞 IO
......
其中一个重要的原因,就是 Redis 中高效的数据结构,因此我们就专门的来研究下 Redis 的核心数据结构,Go!
2 五大基本数据结构
分别是 String、List、Set、ZSet、Map
String 类型:一个 String 类型的 value 最大可以存储 512M
List 类型:list 的元素个数最多为 2^32-1 个,也就是 4294967295 个。
Set 类型:元素个数最多为 2^32-1 个,也就是 4294967295 个。
Hash 类型:键值对个数最多为 2^32-1 个,也就是 4294967295 个。
Sorted set 类型:跟 Sets 类型相似,但是有序。
2.1 String
(1)使用
复制代码
(2)原理
(3)源码
复制代码
2.2 List
(1)使用
复制代码
(2)原理
(3)源码
复制代码
2.3 Set
(1)使用
复制代码
(2)原理
(3)源码
复制代码
2.4 ZSet
(1)使用
复制代码
(2)原理
(3)源码
复制代码
2.5 Map
(1)使用
复制代码
(2)原理
(3)源码
复制代码
3 重点讲下跳表(SkipList)这个数据结构
3.1 图解
3.2 查找过程
版权声明: 本文为 InfoQ 作者【Barry Yan】的原创文章。
原文链接:【http://xie.infoq.cn/article/1880b202f1aebe6e52759483a】。文章转载请联系作者。
评论