你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将 Redis 模块与 Azure Cache for Redis 配合使用
借助 Azure Cache for Redis,可以使用 Redis 模块作为库向核心 Redis 软件添加更多数据结构和功能。 在创建 Redis Enterprise 缓存时添加模块。
有关创建企业缓存的详细信息,请参阅快速入门:创建 Redis Enterprise 缓存。
开源 Redis 4.0 引入了模块。 这些模块通过添加搜索功能和数据结构(如 bloom 和 cuckoo 筛选器)来扩展 Redis 的用例。
Redis 模块的范围
某些常用模块可用 于Azure Cache for Redis 的企业层:
模块 | “基本”、“标准”和“高级” | Enterprise | Enterprise Flash |
---|---|---|---|
RediSearch | 否 | 是 | 是(预览版) |
RedisBloom | 否 | 是 | 否 |
RedisTimeSeries | 否 | 是 | 否 |
RedisJSON | 否 | 是 | 是 |
注意
目前,无法将任何模块手动加载到 Azure Cache for Redis。 手动更新模块版本也是不可能的。
将模块与活动异地复制配合使用
只有 RediSearch
和 RedisJSON
模块可以与活动异地复制同时使用。
使用这些模块时,可以在“主动-主动”配置中同步的缓存组之间实现搜索。 此外,还可以在“主动-主动”配置中搜索 JSON 结构。
客户端库支持
标准 Redis 客户端库对每个模块提供不同的支持。 某些模块具有添加客户端支持的特定库。 查看每个模块的 Redis 文档页,详细了解哪些客户端库支持它们。
将模块添加到缓存
创建企业层缓存时,必须添加模块。 若要在创建新缓存时添加一个或多个模块,请使用企业层缓存的“高级”选项卡中的设置。
可以添加所有可用模块,或仅选择要安装的特定模块。
重要
必须在创建 Azure Cache for Redis 实例时启用模块。
有关详细信息,请参阅快速入门:创建 Redis Enterprise 缓存。
模块
创建新的企业缓存时,可以使用以下模块。
RediSearch
RediSearch 模块将实时搜索引擎添加到缓存中,将低延迟性能与强大的搜索功能相结合。
功能包括:
- 多字段查询
- 聚合
- 前缀、模糊和基于拼音的搜索
- 自动完成建议
- 地区筛选
- 布尔查询
此外,RediSearch 可以充当辅助索引,将缓存扩展到键值结构之外并提供更复杂的查询。
RediSearch 还包含执行矢量相似性查询的功能,例如 K 最近邻 (KNN) 搜索。 此功能允许将 Azure Cache for Redis 用作矢量数据库,这在 AI 用例(如语义应答引擎或任何其他需要比较机器学习模型生成的嵌入向量的应用程序)中非常有用。
可以在各种用例中使用 RediSearch ,包括实时清单、企业搜索和索引外部数据库。 有关详细信息,请参阅相关 RediSearch 文档页。
重要
RediSearch 模块需要使用 Enterprise
群集策略和 NoEviction
逐出策略。 有关详细信息,请参阅内存策略。
RedisBloom
RedisBloom 向 Redis 服务器添加了四个概率性的数据结构:bloom 筛选器、cuckoo 筛选器、count-min sketch 和 top-k。 其中每个数据结构都提供了一种方法来牺牲完美的准确性,以换取更高的速度和更好的内存效率。
数据结构 | 说明 | 示例应用程序 |
---|---|---|
Bloom 和 Cuckoo 筛选器 | 指示某个项要么 (a) 肯定不在集中,要么 (b) 可能在集中。 | 检查电子邮件是否已发送给用户 |
Count-min sketch | 确定流中事件的频率 | 计算 IoT 设备报告温度低于 0 摄氏度的次数。 |
Top-k | 查找 k 最常看到的项目 |
确定《战争与和平》中使用的最常见词。 (例如,设置 k = 50 后将返回书中 50 个最常见的字词) |
Bloom 和 Cuckoo 筛选器彼此相似,但每个筛选器都有一组独特的优点和缺点,超出了本文档的范围。
有关详细信息,请参阅 RedisBloom。
RedisTimeSeries
RedisTimeSeries 模块向缓存添加了高吞吐量时序功能。 此数据结构针对大量传入数据进行优化,并包含处理时序数据的功能,包括:
- 聚合查询(例如平均值、最大值、标准偏差等)
- 基于时间的查询(例如开始时间和结束时间)
- 降低取样频率/整数倍降低取样率
- 辅助索引的数据标记
- 可配置的保留期
此模块适用于许多涉及监视流数据的应用程序,例如 IoT 遥测、应用程序监视和异常情况检测。
有关详细信息,请参阅 RedisTimeSeries。
RedisJSON
RedisJSON 模块添加了存储、查询和搜索 JSON 格式数据的功能。 此功能可用于在缓存中存储类似文档的数据。
功能包括:
- 完全支持 JSON 标准
- 所有 JSON 数据类型的各种操作,包括对象、数字、数组和字符串
- 用于选择和更新文档内元素的专用语法和快速访问
RedisJSON 模块还用于 RediSearch 模块,以便在 Redis 服务器内提供数据的集成索引和查询。 结合使用这两个模块可能是一种功能强大的工具,用于快速检索 JSON 对象中的特定数据点。
RedisJSON 的一些常见用例包括搜索产品目录、管理用户配置文件和缓存 JSON 结构化数据等应用程序。
有关详细信息,请参阅 RedisJSON。
注意
不支持使用 FT.CONFIG
命令更新模块配置参数。 但是,通过使用管理 API 时传入配置模块的参数,可以实现此目的。 例如,可以查看使用 REST API、Azure CLI 或 PowerShell 的 args
参数配置 RedisBloom 模块的 ERROR_RATE
和 INITIAL_SIZE
属性的示例。