查询数据
了解如何查询、搜索和聚合 Redis 数据
Redis Stack 区分了 FT.SEARCH 和 FT.AGGREGATE 查询命令。您应该使用 FT。SEARCH (如果只想执行选择项和投影)。如果您还需要应用映射函数、分组或聚合数据,请使用 FT.AGGREGATE 命令。
- 选择:选择允许您返回满足特定条件的所有文档。
- Projection:投影用于返回结果集的特定字段。您还可以映射/投影到计算字段值。
- 聚合:聚合跨多个字段收集和汇总数据。
以下是使用 bicycle 数据集的简短 SQL 比较:
类型 | SQL | Redis 堆栈 |
---|---|---|
选择 | SELECT * FROM bicycles WHERE price >= 1000 |
FT.SEARCH idx:bicycle "@price:[1000 +inf]" |
简单投影 | SELECT id, price FROM bicycles |
FT.SEARCH idx:bicycle "*" RETURN 2 __key, price |
计算的投影 | SELECT id, price-price*0.1 AS discounted FROM bicycles |
FT.AGGREGATE idx:bicycle "*" LOAD 2 __key price APPLY "@price-@price*0.1" AS discounted |
集合体 | SELECT condition, AVG(price) AS avg_price FROM bicycles GROUP BY condition |
FT.AGGREGATE idx:bicycle "*" GROUPBY 1 @condition REDUCE AVG 1 @price AS avg_price |
以下文章概述了如何使用 FT 查询数据。SEARCH 命令:
您可以找到有关使用 FT 进行聚合查询的更多详细信息。AGGREGATE 在以下文章中: