Time series
Ingest and query time series data with Redis
Redis Stack (specifically, its RedisTimeSeries module) adds a time series data structure to Redis.
Features
- High volume inserts, low latency reads
- Query by start time and end-time
- Aggregated queries (min, max, avg, sum, range, count, first, last, STD.P, STD.S, Var.P, Var.S, twa) for any time bucket
- Configurable maximum retention period
- Compaction for automatically updated aggregated timeseries
- Secondary indexing for time series entries. Each time series has labels (field value pairs) which will allows to query by labels
Client libraries
Official and community client libraries in Python, Java, JavaScript, Ruby, Go, C#, Rust, and PHP.
See the clients page for the full list.
Using with other metrics tools
In the RedisTimeSeries GitHub organization you can find projects that help you integrate RedisTimeSeries with other tools, including:
- Prometheus, read/write adapter to use RedisTimeSeries as backend db.
- Grafana 7.1+, using the Redis Data Source.
- Telegraf. Download the plugin from InfluxData.
- StatsD, Graphite exports using graphite protocol.
Memory model
A time series is a linked list of memory chunks. Each chunk has a predefined size of samples. Each sample is a 128-bit tuple: 64 bits for the timestamp and 64 bits for the value.
Forum
Got questions? Feel free to ask at the RedisTimeSeries mailing list.
License
RedisTimeSeries is licensed under the Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1).