Fully managed and integrated with Google Cloud, Azure, and AWS.
Build the fastest, most reliable GenAI apps with our advanced vector database.
Self-managed software with enterprise-grade compliance and reliability.
Synchronize data in near-real time to make data fast—without writing code.
In-memory database for caching & streaming.
Understand how to query, search, and aggregate Redis data
Redis Community Edition distinguishes between the FT.SEARCH and FT.AGGREGATE query commands. You should use FT.SEARCH if you want to perform selections and projections only. If you also need to apply mapping functions, group, or aggregate data, use the FT.AGGREGATE command.
Here is a short SQL comparison using the bicycle dataset:
Type | SQL | Redis |
---|---|---|
Selection | SELECT * FROM bicycles WHERE price >= 1000 |
FT.SEARCH idx:bicycle "@price:[1000 +inf]" |
Simple projection | SELECT id, price FROM bicycles |
FT.SEARCH idx:bicycle "*" RETURN 2 __key, price |
Calculated projection | 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 |
Aggregation | 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 |
The following articles provide an overview of how to query data with the FT.SEARCH command:
You can find further details about aggregation queries with FT.AGGREGATE in the following article: