Redis 是一种开源的、内存中的数据结构服务器,它支持多种类型的数据结构。以下是 Redis 支持的主要数据结构:
-
字符串(String): 这是最简单的类型,一个键对应一个值,是二进制安全的。这意味着 Redis 的字符串可以包含任何数据,比如 jpg 图片或者序列化的对象。
-
列表(List): 这是 Redis 的链表,你可以向列表的头部(左边)或尾部(右边)添加元素,或者从列表的头部或尾部移除元素。这使得列表做 LRU(最近最少使用)缓存和消息队列十分方便。
-
哈希(Hash): 这是一个键值对集,它是一个字符串字段和字符串值之间的映射。Hash 特别适合存储对象。
-
集合(Set): 这是一个无序且不允许重复的字符串集合。因为数据结构的特性,你可以在这个数据结构中做一些集合的操作,如并集、交集和差集。
-
有序集合(Sorted Set): 这也是一个集合,且每个集合中的每个元素都会关联一个分数。元素始终是有序的,排序的规则是根据分数的大小来确定的。
-
位图(Bitmaps): 本质上是字符串类型的子类,并不是一个独立的数据类型,但可以看做是独立的数据类型来操作。位图即 bit array,使用场景包括记录用户签到等。
-
HyperLogLogs: 是一种概率型的数据结构,用于不精确的统计网站的独立访问数量。
-
Streams: Redis 5.0 加入的新数据类型,主要用来实现消息队列功能,结合消费者群组可以实现 Kafka 的大部分功能。
以上就是 Redis 支持的主要数据类型。每种数据类型都有其适用的场景,选择合适的数据类型可以有效地提升 Redis 的性能和易用性。