Time series

Ingest and query time series data with Redis

Discord Github

The Redis time series structure lets you store and query timestamped data points.

Redis time series is not available by default in the basic Redis server, so you should install Redis Stack or Redis Enterprise, both of which include time series and other useful modules. See Install Redis Stack or Install Redis Enterprise for full installation instructions.

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:

  1. Prometheus, read/write adapter to use RedisTimeSeries as backend db.
  2. Grafana 7.1+, using the Redis Data Source.
  3. Telegraf. Download the plugin from InfluxData.
  4. 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).

RATE THIS PAGE
Back to top ↑