You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/develop/clients/patterns/indexes/index.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -182,7 +182,7 @@ index.
182
182
183
183
When you create a new time series using the [`TS.CREATE`]({{< relref "commands/ts.create" >}}) command, you can associate one or more `LABELS` with it. Each label is a name-value pair, where the both name and value are text. Labels serve as a secondary index that allows you to execute queries on groups of time series keys using various time series commands.
184
184
185
-
See the [time series quickstart guide]({{< relref "/develop/data-types/timeseries/quickstart#labels" >}}) for an example of creating a time series with a label.
185
+
See the [time series quickstart guide]({{< relref "/develop/data-types/timeseries#create-a-time-series" >}}) for an example of creating a time series with a label.
186
186
187
187
The [`TS.MGET`]({{< relref "commands/ts.mget" >}}), [`TS.MRANGE`]({{< relref "commands/ts.mrange" >}}), and [`TS.MREVRANGE`]({{< relref "commands/ts.mrevrange" >}}) commands operate on multiple time series based on specified labels or using a label-related filter expression. The [`TS.QUERYINDEX`]({{< relref "commands/ts.queryindex" >}}) command returns all time series keys matching a given label-related filter expression.
Copy file name to clipboardExpand all lines: content/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.2-release-notes.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -78,7 +78,7 @@ Headlines:
78
78
- Compression added which can reduce memory up to 98% and improve read performance up to 50%.
79
79
- Stable ingestion time independent of the number of the data points on a time-series.
80
80
- Reviewed API with performance improvements and removed ambiguity.
If you want to keep all of your raw data points indefinitely, your data set grows linearly over time. However, if your use case allows you to have less fine-grained data further back in time, downsampling can be applied. This allows you to keep fewer historical data points by aggregating raw data for a given time window using a given aggregation function. Time series support [downsampling]({{< relref "develop/data-types/timeseries/quickstart#aggregation" >}}) with the following aggregations: avg, sum, min, max, range, count, first, and last.
41
+
If you want to keep all of your raw data points indefinitely, your data set grows linearly over time. However, if your use case allows you to have less fine-grained data further back in time, downsampling can be applied. This allows you to keep fewer historical data points by aggregating raw data for a given time window using a given aggregation function. Time series support [downsampling]({{< relref "develop/data-types/timeseries#aggregation" >}}) with the following aggregations: avg, sum, min, max, range, count, first, and last.
42
42
43
43
### Secondary indexing
44
44
45
45
When using Redis’ core data structures, you can only retrieve a time series by knowing the exact key holding the time series. Unfortunately, for many time series use cases (such as root cause analysis or monitoring), your application won’t know the exact key it’s looking for. These use cases typically want to query a set of time series that relate to each other in a couple of dimensions to extract the insight you need. You could create your own secondary index with core Redis data structures to help with this, but it would come with a high development cost and require you to manage edge cases to make sure the index is correct.
46
46
47
-
Redis does this indexing for you based on `field value` pairs called [labels]({{< relref "develop/data-types/timeseries/quickstart#labels" >}}). You can add labels to each time series and use them to [filter]({{< relref "develop/data-types/timeseries/quickstart#filtering" >}}) at query time.
47
+
Redis does this indexing for you based on `field value` pairs called [labels]({{< relref "develop/data-types/timeseries#create-a-time-series" >}}). You can add labels to each time series and use them to [filter]({{< relref "develop/data-types/timeseries#query-data-points" >}}) at query time.
48
48
49
49
Here’s an example of creating a time series with two labels (sensor_id and area_id are the fields with values 2 and 32 respectively) and a retention window of 60,000 milliseconds:
50
50
@@ -56,7 +56,7 @@ Here’s an example of creating a time series with two labels (sensor_id and are
56
56
57
57
When you need to query a time series, it’s cumbersome to stream all raw data points if you’re only interested in, say, an average over a given time interval. Time series only transfer the minimum required data to ensure lowest latency.
58
58
59
-
Here's an example of [aggregation]({{< relref "develop/data-types/timeseries/quickstart#aggregation" >}}) over time buckets of 5,000 milliseconds:
59
+
Here's an example of [aggregation]({{< relref "develop/data-types/timeseries#aggregation" >}}) over time buckets of 5,000 milliseconds:
|[TS.DECRBY]({{< relref "commands/ts.decrby" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Decreases the value of the latest sample in a time series by the specified number. Either modifies the existing sample or adds the decreased value as a new sample, depending on the timestamp option. |
24
24
|[TS.DEL]({{< relref "commands/ts.del" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Removes all samples between two timestamps for a given time series. |
|[TS.GET]({{< relref "commands/ts.get" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns the last sample in a time series. |
27
27
|[TS.INCRBY]({{< relref "commands/ts.incrby" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Increases the value of the latest sample in a time series by the specified number. Either modifies the existing sample or adds the increased value as a new sample, depending on the timestamp option. |
28
28
|[TS.INFO]({{< relref "commands/ts.info" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns time series information and statistics. |
29
29
|[TS.MADD]({{< relref "commands/ts.madd" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Appends multiple samples to one or more time series. |
30
-
|[TS.MGET]({{< relref "commands/ts.mget" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns multiple samples with [labels]({{< relref "develop/data-types/timeseries/quickstart#labels" >}}) that match the filter. |
31
-
|[TS.MRANGE]({{< relref "commands/ts.mrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | For multiple time series, runs a query against samples within a range of timestamps, from earliest to latest. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). |
32
-
|[TS.MREVRANGE]({{< relref "commands/ts.mrevrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | For multiple time series, runs a query against samples within a range of timestamps in reverse order, from latest to earliest. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). |
33
-
|[TS.QUERYINDEX]({{< relref "commands/ts.queryindex" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns the keys of all time series with [labels]({{< relref "/develop/data-types/timeseries/quickstart" >}}#labels) that match the given filters. |
34
-
|[TS.RANGE]({{< relref "commands/ts.range" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | From the start of a single time series, runs a query against samples within a range of timestamps. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). |
35
-
|[TS.REVRANGE]({{< relref "commands/ts.revrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | From the end of a single time series, runs a query against samples within a range of timestamps in reverse order. Supports [filtering]({{< relref "/develop/data-types/timeseries/quickstart" >}}#filtering) and [aggregation]({{< relref "/develop/data-types/timeseries/quickstart" >}}#aggregation). |
30
+
|[TS.MGET]({{< relref "commands/ts.mget" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns multiple samples with [labels]({{< relref "develop/data-types/timeseries#create-a-time-series" >}}) that match the filter. |
31
+
|[TS.MRANGE]({{< relref "commands/ts.mrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | For multiple time series, runs a query against samples within a range of timestamps, from earliest to latest. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). |
32
+
|[TS.MREVRANGE]({{< relref "commands/ts.mrevrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | For multiple time series, runs a query against samples within a range of timestamps in reverse order, from latest to earliest. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). |
33
+
|[TS.QUERYINDEX]({{< relref "commands/ts.queryindex" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | Returns the keys of all time series with [labels]({{< relref "/develop/data-types/timeseries#create-a-time-series" >}}) that match the given filters. |
34
+
|[TS.RANGE]({{< relref "commands/ts.range" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | From the start of a single time series, runs a query against samples within a range of timestamps. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). |
35
+
|[TS.REVRANGE]({{< relref "commands/ts.revrange" >}}) | <spantitle="Supported">✅ Supported</span><br /><span><br /></span> | <spantitle="Supported">✅ Flexible & Annual</span><br /><spantitle="Supported">✅ Free & Fixed</nobr></span> | From the end of a single time series, runs a query against samples within a range of timestamps in reverse order. Supports [filtering]({{< relref "/develop/data-types/timeseries#query-data-points" >}}) and [aggregation]({{< relref "/develop/data-types/timeseries#aggregation" >}}). |
0 commit comments