当前位置: 首页 > 后端技术 > Java

《高频面试题》Redis的五种基本数据类型是什么?

时间:2023-04-01 14:13:22 Java

String(String)二进制安全字符串。列表(List)是一个字符串元素按照插入顺序排序的列表,基于链表实现。Redis列表是使用链表实现的,也就是说在头部或尾部添加或删除一个元素的时间复杂度是O(1),非常快。但是通过索引查询对应元素的时间复杂度是O(n),慢了很多。集合(Set)是唯一的乱序字符串元素的集合。集合是字符串的无序集合,SADD命令可以向集合中添加新元素。还可以对集合进行许多其他操作,例如:判断给定元素是否已经存在,对多个集合进行交集、并集或差集等。SortedSets类似于集合,但每个字符串元素都与一个称为分数的数字相关联。元素始终按分数排序,并且可以检索具有一定分数范围的元素。有序集是一种数据类型,类似于集合和散列的混合。和集合一样,有序集合由唯一的、不重复的字符串元素组成,所以从某种意义上说,有序集合也是集合。但是集合中的元素是没有排序的,有序集合中的每个元素都与一个浮点值相关联,称为分数(score),这就是为什么有序集合也类似于散列的原因,因为每个元素都映射到一个价值。哈希(Hash)是由字段和值关联组成的映射,字段和值都是字符串。它是一个无序的散列,在内部存储了许多键值对。参考答案String、List、Set、SortedSet、Hash