文
章
目
录
章
目
录
标准回答
Redis主要提供了五种核心数据结构,它们是:
- 字符串(String):字符串是 Redis 数据库中的二进制安全数据类型,具有已知长度,最多可以存储 2 兆字节的内容。字符串可以用于存储文本、二进制数据等。
- 哈希(Hash):哈希是键值对的集合,适合表示对象。在 Redis 中,哈希将字符串字段与字符串值之间建立映射关系,每个哈希可以存储多达 232–1 个字段-值对。
- 列表(List):列表是按照插入顺序排序的字符串列表,可以将元素添加到列表的头部或尾部。列表的最大长度为 2^32 – 1 个元素,超过 40 亿个元素。
- 集合(Set):集合是无序的字符串集合,Redis 中实现了两种设计,一种是当元素个数大于 64 时采用散列表实现,添加和删除复杂度为 O(log(n)),另一种是小于 64 时采用 ziplist 实现,复杂度为 O(n)。集合的最大成员数为 2^32-1 个元素,超过 40 亿个元素。
- 有序集合(Zset):有序集合类似于集合,但每个成员都与一个分数相关联,用于进行从最小到最大分数的有序排序。成员是唯一的,但分数可以重复。
加分回答
另外,Redis 还提供了其他数据类型,如 Bitmap、HyperLogLog、Geo 类型等,以及在版本 5.0 中新增的 Streams 数据类型,它是一个功能强大的、支持多播的、可持久化的消息队列。这些数据类型都建立在上述核心数据类型之上,提供了更多的功能和应用场景。