理解 Redis 数据类型

Redis 支持的数据类型概述

Redis 是一个数据结构服务器。其核心是提供一组原生数据类型,帮助您解决各种问题,从缓存队列再到事件处理。以下是对每种数据类型的简要描述,并附有更广泛的概述和命令参考链接。每篇概述都包含带有代码示例的详细教程。

数据类型

Redis 开源版实现了以下数据类型

字符串

Redis 字符串是最基本的 Redis 数据类型,表示字节序列。更多信息请参阅:

列表

Redis 列表是按插入顺序排序的字符串列表。更多信息请参阅:

集合

Redis 集合是唯一的、无序的字符串集合,类似于您喜欢的编程语言中的集合(例如 Java HashSetsPython sets 等)。使用 Redis 集合,您可以在 O(1) 时间内添加、删除和测试元素是否存在(换句话说,与集合元素的数量无关)。更多信息请参阅:

散列

Redis 散列是记录类型,建模为字段-值对的集合。因此,Redis 散列类似于 Python 字典Java HashMapsRuby 散列。更多信息请参阅:

有序集合

Redis 有序集合是唯一的字符串集合,通过每个字符串关联的分数来维护顺序。更多信息请参阅:

矢量集合

Redis 矢量集合是一种专门的数据类型,用于管理高维矢量数据,可在 Redis 中实现快速高效的矢量相似性搜索。矢量集合针对涉及机器学习、推荐系统和语义搜索的用例进行了优化,在这些用例中,每个矢量代表多维空间中的一个数据点。矢量集合支持 HNSW(分层可导航小世界)算法,允许您根据余弦相似度指标存储、索引和查询矢量。通过矢量集合,Redis 提供对混合搜索的原生支持,将矢量相似性与结构化过滤器结合起来。更多信息请参阅:

Redis 是一种数据结构,其行为类似于仅附加日志。流有助于按事件发生的顺序记录事件,然后将它们联合起来进行处理。更多信息请参阅:

地理空间索引

Redis 地理空间索引对于在给定地理半径或边界框内查找位置很有用。更多信息请参阅:

位图

Redis 位图允许您对字符串执行位操作。更多信息请参阅:

位域

Redis 位域有效地在字符串值中编码多个计数器。位域提供原子性的 get、set 和 increment 操作,并支持不同的溢出策略。更多信息请参阅:

JSON

Redis JSON 提供结构化的分层数组和键值对象,与流行的 JSON 文本文件格式相匹配。您可以将 JSON 文本导入 Redis 对象中,并访问、修改和查询单个数据元素。更多信息请参阅:

概率型数据类型

这些数据类型允许您以一种近似但高效的方式收集和计算统计数据。以下类型可用:

HyperLogLog

Redis HyperLogLog 数据结构提供了对大型集合基数(即元素数量)的概率估计。更多信息请参阅:

布隆过滤器

Redis 布隆过滤器允许您检查元素是否存在于集合中。更多信息请参阅:

布谷鸟过滤器

Redis 布谷鸟过滤器允许您检查元素是否存在于集合中。它们类似于布隆过滤器,但在功能和性能之间存在细微的权衡。更多信息请参阅:

t-digest

Redis t-digest 结构估计数据值流中的百分位数。更多信息请参阅:

Top-K

Redis Top-K 结构估计值流中数据点的排名。更多信息请参阅:

Count-min sketch

Redis Count-min sketch 估计值流中数据点的频率。更多信息请参阅:

时间序列

Redis 时间序列结构允许您存储和查询带时间戳的数据点。更多信息请参阅:

添加扩展

要扩展包含的数据类型提供的功能,请使用以下任一选项:

  1. 使用 Lua 编写您自己的自定义服务器端函数
  2. 使用 modules API 编写您自己的 Redis 模块或查看社区支持的模块
评价此页面
返回顶部 ↑