手记

「高频面试题」Redis的五种基础数据类型是哪些?

字符串(String)

二进制安全字符串。

列表(List)

根据插入顺序排序的字符串元素列表,基于链表实现。

Redis列表是使用链表实现的,这就意味着在头部或尾部增加或删除一个的元素的时间复杂度是O(1),非常快的。不过,按索引查询对应元素的时间复杂度就是O(n),慢很多。

集合(Set)

唯一的乱序的字符串元素的集合。

集合是一个字符串的无序集合,SADD命令可以将新元素添加到集合中。还可以对集合进行许多其他操作,例如:判断给定元素是否已存在、执行多个集合之间的交集、并集或差等等。

有序集合(Sorted Set)

集合类似,但是每个字符串元素都与一个称为score的数字相关联。 元素总是按其score排序,并且可以检索一定score范围的元素。

有序集合是一种类似于集合和哈希之间混合的数据类型。像集合一样,有序集合中由唯一的、非重复的字符串元素组成,因此从某种意义上说,有序集合也是一个集合。但是集合中的元素是没有排序的,而有序集合中的每个元素都与一个称为分数(score)的浮点值相关联,这就是为什么有序集合也类似于哈希的原因,因为每个元素都映射到一个值。

哈希(Hash)

由字段与值相关联组成的映射,字段和值都是字符串。它是一个无序哈希,内部存储了很多键值对。

参考答案

字符串、列表、集合、有序集合、哈希

0人推荐
随时随地看视频
慕课网APP