Redis 是一个开源的内存数据库,支持多种数据结构,常用的数据类型包括:
-
字符串(String):
- 字符串是 Redis 中最简单的数据类型。它可以包含任何数据,比如 JPG 图像或序列化的对象。
- 字符串的最大长度为 512 MB。
-
哈希(Hash):
- 哈希是一种键值对集合,适合用于存储对象(例如用户信息),通过字段(key)和对应的值(value)来存储。
- 哈希中的字段和字段值都为字符串。
-
列表(List):
- 列表是一个按照插入顺序排序的字符串链表,可以用在任务队列等场景。
- 支持从两端插入和删除元素(推入和弹出)。
-
集合(Set):
- 集合是一种无序的字符串集合,具有唯一性(不重复的元素)。
- 支持数学集合操作,如并集、交集和差集等。
-
有序集合(Sorted Set):
- 有序集合是集合的扩展,每个元素都有一个分数(score),根据分数进行排序。
- 支持按分数范围查找和按分数进行范围查询。
-
位图(Bitmap):
- 位图实际上是字符串的一种表现形式,可以用于处理二进制位,用于统计和跟踪某些数据(如在线人数)。
-
HyperLogLog:
- 是一种概率性数据结构,用于统计唯一元素的数量,尤其适合大数据量的场景。
-
地理空间(Geospatial):
- 通过一个精简的方式,Redis 提供了地理位置信息的存储和查询能力,支持经纬度的存储与距离计算等功能。
-
流(Stream):
- 流是一种数据结构,适合用于消息队列,它支持永久的消息存储,可用于实时的数据流处理。
通过这些不同的数据结构,Redis 能够满足多种应用场景的需求,从简单的缓存到复杂的数据存储和处理。