内容来自《收割Offer: 互联网大厂面经》

● Redis的5种基本数据类型是什么?

● 解释一下Redis的5种基本数据类型对应的底层数据结构以及切换条件。

● 你了解SDS吗,与C字符串相比它有什么优点?● 压缩列表的连锁更新问题是怎么产生的?

● 说明Hash扩容、渐进式rehash过程。

● 说说跳表数据结构、一次查询的过程、时间复杂度。

Redis的5种基本数据类型是string、list、set、hash和sortedset。

表1-17给出了Redis的5种基本数据类型及其对应的底层实现。

image.png

Redis 基本数据类型 底层数据结构实现
String SDS
List ZipList or LinkedList
Set intset or hashtable
Hash ziplist or hashtable
SortedSet ziplist or skiplist

1 Redis底层数据结构之SDS

与C字符串相比,SDS具有以下优点: