内容提要
Redis发布Search on Flex预览版,将搜索索引存于分层存储,仅热元数据保留在内存,内存占用约为纯内存索引的10%。查询、索引和客户端接口不变,配合QPF可扩展吞吐,目标为约10倍延迟、10%内存。适用于TB级RAG、欺诈筛查等场景,可替代独立搜索引擎,并支持在Flex与RAM间灵活调整。
延伸解读
内存节省与延迟权衡
Search on Flex 将搜索索引存于分层存储,仅热元数据保留在内存,内存占用约为纯内存索引的10%。但磁盘读取会带来延迟,因此需配合查询性能因子(QPF)来分散查询执行,以维持吞吐。官方设计目标为“10:10规则”:约10倍内存查询延迟,换取约10%内存占用。对于多数搜索、检索和语义相似度SLA,这一权衡是可接受的。
适用场景与替代价值
该功能面向TB级工作负载,如欺诈与合规筛查、特征存储、文档检索和代理上下文检索。此前因内存成本高,许多团队在Redis旁单独运行Elasticsearch、OpenSearch或专用向量数据库。Search on Flex 消除了第二个引擎,使Redis同时充当缓存和搜索层。配合Redis Data Integration,可将源数据库的完整数据集近乎实时同步并变得可搜索,而不仅是缓存子集。
预览版功能限制与未来规划
目前Search on Flex在Redis Cloud Pro上以预览版提供,功能集比Redis Software窄。NUMERIC和GEO字段、JSON文档、FT.AGGREGATE、FT.HYBRID及后台索引已在Redis Software中可用,但尚未登陆Redis Cloud Pro。官方目标是在正式发布(GA)时实现与内存版Search的完全对等,并优先根据客户需求填补剩余差距。预览期间支持Terraform,但功能集会持续扩展。
灵活调整与成本优势
用户可为数据库选择RAM与Flash的比例,从而决定价格与性能的平衡点,且后续可调整而无需重新索引或重写代码。调至100% RAM即可获得原有Redis性能。由于同一引擎和命令在两种配置下均运行,团队可先从磁盘密集型配置起步以控制成本,随需求增长再向RAM和更多QPF迁移。目前QPF用于Search on Flex不额外收费,仅按Flex数据库常规计费。
Q&A
Search on Flex 是什么?它和普通 Redis Search 有什么区别?
Search on Flex 是 Redis 在 Redis Cloud Pro 上推出的预览功能,它将搜索索引存储在分层存储(Flex)上,仅热索引元数据保留在内存中。与普通 Redis Search 必须将整个索引放在内存不同,Search on Flex 的内存占用约为纯内存索引的 10%,但查询、索引定义和客户端接口完全不变。
Search on Flex 能节省多少内存?查询延迟会增加多少?
根据文章,Search on Flex 的内存占用大约是等效纯内存索引的 10%。延迟方面,设计目标是“10:10 规则”:查询延迟约为纯内存查询的 10 倍,同时内存占用约为 10%。实际延迟取决于工作负载和 QPF 配置。
使用 Search on Flex 需要修改代码或查询吗?
不需要。Search on Flex 使用相同的 Redis Search API,FT.CREATE、FT.SEARCH 以及现有的客户端库行为完全一致。你无需重写代码或采用新接口,只需在 Redis Cloud Pro 中启用预览标志并创建 Flex 数据库即可。
Search on Flex 适合哪些应用场景?
适合 TB 级数据量的场景,包括:欺诈与合规筛查(基于完整历史)、特征存储(更宽更长的特征)、文档检索(全量目录和知识库)、RAG 管道和智能体上下文检索(整个语料库)。也适合希望用 Redis 替代独立搜索引擎(如 Elasticsearch、OpenSearch 或专用向量数据库)的团队。
Search on Flex 如何与 Redis Flex 分层存储配合工作?
Redis Flex 原本管理键值在 RAM 和 SSD 之间的放置,热数据在内存,温数据在磁盘。Search on Flex 将同样的方法扩展到搜索索引本身:完整索引驻留在 Flex 分层存储上,只有热索引元数据保留在 RAM。你可以选择数据库的 RAM 与 Flash 比例,并随时调整而无需重新索引。
Search on Flex 目前有哪些功能限制?如何开始使用?
目前为 Redis Cloud Pro 预览版,功能集比 Redis Software 窄。NUMERIC 和 GEO 字段、JSON 文档、FT.AGGREGATE、FT.HYBRID 和后台索引已在 Redis Software 上可用,但尚未在 Redis Cloud Pro 上提供,GA 目标是完全对齐。要开始使用,需在 Redis Cloud 控制台中为 Redis Cloud Pro 订阅启用预览标志,然后创建带有分层存储 Redis Search 索引的 Flex 数据库。Terraform 支持处于预览级别。