Interface TimeSeriesCommands<K>

Type Parameters:
K - the type of the key
All Superinterfaces:
RedisCommands
All Known Implementing Classes:
BlockingTimeSeriesCommandsImpl

@Experimental("The time series command group is experimental") public interface TimeSeriesCommands<K> extends RedisCommands
Allows executing commands from the time series group (requires the Redis Time Series module from Redis stack). See the time series command list for further information about these commands.

  • Method Details

    • tsCreate

      void tsCreate(K key, CreateArgs args)
      Execute the command TS.CREATE. Summary: Create a new time series Group: time series
      Parameters:
      key - the key name for the time series must not be null
      args - the creation arguments.
    • tsCreate

      void tsCreate(K key)
      Execute the command TS.CREATE. Summary: Create a new time series Group: time series
      Parameters:
      key - the key name for the time series must not be null
    • tsAdd

      void tsAdd(K key, long timestamp, double value, AddArgs args)
      Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series
      Parameters:
      key - the key name for the time series must not be null
      timestamp - the (long) UNIX sample timestamp in milliseconds or -1 to set the timestamp according to the server clock.
      value - the numeric data value of the sample.
      args - the creation arguments.
    • tsAdd

      void tsAdd(K key, long timestamp, double value)
      Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series
      Parameters:
      key - the key name for the time series, must not be null
      timestamp - the (long) UNIX sample timestamp in milliseconds
      value - the numeric data value of the sample
    • tsAdd

      void tsAdd(K key, double value)
      Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series

      Unlike tsAdd(Object, long, double), set the timestamp according to the server clock.

      Parameters:
      key - the key name for the time series. must not be null
      value - the numeric data value of the sample, must not be null
    • tsAdd

      void tsAdd(K key, double value, AddArgs args)
      Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series

      Unlike tsAdd(Object, long, double, AddArgs), set the timestamp according to the server clock.

      Parameters:
      key - the key name for the time series must not be null
      value - the numeric data value of the sample.
      args - the creation arguments.
    • tsAlter

      void tsAlter(K key, AlterArgs args)
      Execute the command TS.ALTER. Summary: Update the retention, chunk size, duplicate policy, and labels of an existing time series Group: time series
      Parameters:
      key - the key name for the time series, must not be null
      args - the alter parameters, must not be null
    • tsCreateRule

      void tsCreateRule(K key, K destKey, Aggregation aggregation, Duration bucketDuration)
      Execute the command TS.CREATERULE. Summary: Create a compaction rule Group: time series
      Parameters:
      key - the key name for the time series, must not be null
      destKey - the key name for destination (compacted) time series. It must be created before TS.CREATERULE is called. Must not be null.
      aggregation - the aggregation function, must not be null
      bucketDuration - the duration of each bucket, must not be null
    • tsCreateRule

      void tsCreateRule(K key, K destKey, Aggregation aggregation, Duration bucketDuration, long alignTimestamp)
      Execute the command TS.CREATERULE. Summary: Create a compaction rule Group: time series
      Parameters:
      key - the key name for the time series, must not be null
      destKey - the key name for destination (compacted) time series. It must be created before TS.CREATERULE is called. Must not be null.
      aggregation - the aggregation function, must not be null
      bucketDuration - the duration of each bucket, must not be null
      alignTimestamp - when set, ensures that there is a bucket that starts exactly at alignTimestamp and aligns all other buckets accordingly. It is expressed in milliseconds. The default value is 0 aligned with the epoch. For example, if bucketDuration is 24 hours (24 * 3600 * 1000), setting alignTimestamp to 6 hours after the epoch (6 * 3600 * 1000) ensures that each bucket’s timeframe is [06:00 .. 06:00).
    • tsDecrBy

      void tsDecrBy(K key, double value)
      Execute the command TS.DECRBY. Summary: Decrease the value of the sample with the maximum existing timestamp, or create a new sample with a value equal to the value of the sample with the maximum existing timestamp with a given decrement Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      value - the numeric data value of the sample, must not be null
    • tsDecrBy

      void tsDecrBy(K key, double value, IncrementArgs args)
      Execute the command TS.DECRBY. Summary: Decrease the value of the sample with the maximum existing timestamp, or create a new sample with a value equal to the value of the sample with the maximum existing timestamp with a given decrement Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      value - the numeric data value of the sample, must not be null
      args - the extra command parameters
    • tsDel

      void tsDel(K key, long fromTimestamp, long toTimestamp)
      Execute the command TS.DEL. Summary: Delete all samples between two timestamps for a given time series Group: time series

      The given timestamp interval is closed (inclusive), meaning that samples whose timestamp equals the fromTimestamp or toTimestamp are also deleted.

      Parameters:
      key - the key name for the time series. must not be null
      fromTimestamp - the start timestamp for the range deletion.
      toTimestamp - the end timestamp for the range deletion.
    • tsDeleteRule

      void tsDeleteRule(K key, K destKey)
      Execute the command TS.DELETERULE. Summary: Delete a compaction rule Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      destKey - the key name for destination (compacted) time series. Note that the command does not delete the compacted series. Must not be null
    • tsGet

      Sample tsGet(K key)
      Execute the command TS.GET. Summary: Get the last sample Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      Returns:
      A uni emitting a Sample, i.e. a couple containing the timestamp and the value.
    • tsGet

      Sample tsGet(K key, boolean latest)
      Execute the command TS.GET. Summary: Get the last sample Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      latest - used when a time series is a compaction. With LATEST set to true, TS.MRANGE also reports the compacted value of the latest possibly partial bucket, given that this bucket's start time falls within [fromTimestamp, toTimestamp]. Without LATEST, TS.MRANGE does not report the latest possibly partial bucket. When a time series is not a compaction, LATEST is ignored.
      Returns:
      A uni emitting a Sample, i.e. a couple containing the timestamp and the value.
    • tsIncrBy

      void tsIncrBy(K key, double value)
      Execute the command TS.INCRBY. Summary: Increase the value of the sample with the maximum existing timestamp, or create a new sample with a value equal to the value of the sample with the maximum existing timestamp with a given increment. Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      value - the numeric data value of the sample, must not be null
    • tsIncrBy

      void tsIncrBy(K key, double value, IncrementArgs args)
      Execute the command TS.INCRBY. Summary: Increase the value of the sample with the maximum existing timestamp, or create a new sample with a value equal to the value of the sample with the maximum existing timestamp with a given increment. Group: time series

      Parameters:
      key - the key name for the time series. must not be null
      value - the numeric data value of the sample, must not be null
      args - the extra command parameters
    • tsMAdd

      void tsMAdd(SeriesSample<K>... samples)
      Execute the command TS.MADD. Summary: Append new samples to one or more time series Group: time series
      Parameters:
      samples - the set of samples to add to the time series.
    • tsMGet

      Map<String,SampleGroup> tsMGet(MGetArgs args, Filter... filters)
      Execute the command TS.MGET. Summary: Get the last samples matching a specific filter Group: time series

      Parameters:
      args - the extra command parameter, must not be null
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsMGet

      Map<String,SampleGroup> tsMGet(Filter... filters)
      Execute the command TS.MGET. Summary: Get the last samples matching a specific filter Group: time series

      Parameters:
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsMRange

      Map<String,SampleGroup> tsMRange(TimeSeriesRange range, Filter... filters)
      Execute the command TS.MRANGE. Summary: Query a range across multiple time series by filters in forward direction Group: time series

      Parameters:
      range - the range, must not be null
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsMRange

      Map<String,SampleGroup> tsMRange(TimeSeriesRange range, MRangeArgs args, Filter... filters)
      Execute the command TS.MRANGE. Summary: Query a range across multiple time series by filters in forward direction Group: time series

      Parameters:
      range - the range, must not be null
      args - the extra command parameters
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsMRevRange

      Map<String,SampleGroup> tsMRevRange(TimeSeriesRange range, Filter... filters)
      Execute the command TS.MREVRANGE. Summary: Query a range across multiple time series by filters in reverse direction Group: time series

      Parameters:
      range - the range, must not be null
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsMRevRange

      Map<String,SampleGroup> tsMRevRange(TimeSeriesRange range, MRangeArgs args, Filter... filters)
      Execute the command TS.MREVRANGE. Summary: Query a range across multiple time series by filters in reverse direction Group: time series

      Parameters:
      range - the range, must not be null
      args - the extra command parameters
      filters - the filters. Instanced are created using the static methods from Filter. Must not be null, or contain a null value.
      Returns:
      A uni emitting a Map of String -> SampleGroup, containing the matching sample grouped by key. The key is the string representation of the time series key.
    • tsQueryIndex

      List<K> tsQueryIndex(Filter... filters)
      Execute the command TS.QUERYINDEX. Summary: Get all time series keys matching a filter list Group: time series
      Parameters:
      filters - the filter, created from the Filter class. Must not be null, must not contain null
      Returns:
      A uni emitting the list of keys containing time series matching the filters
    • tsRange

      List<Sample> tsRange(K key, TimeSeriesRange range)
      Execute the command TS.RANGE. Summary: Query a range in forward direction Group: time series

      Parameters:
      key - the key name for the time series, must not be null
      range - the range, must not be null
      Returns:
      A uni emitting the list of matching sample
    • tsRange

      List<Sample> tsRange(K key, TimeSeriesRange range, RangeArgs args)
      Execute the command TS.RANGE. Summary: Query a range in forward direction Group: time series

      Parameters:
      key - the key name for the time series, must not be null
      range - the range, must not be null
      args - the extra command parameters
      Returns:
      A uni emitting the list of matching sample
    • tsRevRange

      List<Sample> tsRevRange(K key, TimeSeriesRange range)
      Execute the command TS.REVRANGE. Summary: Query a range in reverse direction Group: time series

      Parameters:
      key - the key name for the time series, must not be null
      range - the range, must not be null
      Returns:
      A uni emitting the list of matching sample
    • tsRevRange

      List<Sample> tsRevRange(K key, TimeSeriesRange range, RangeArgs args)
      Execute the command TS.REVRANGE. Summary: Query a range in reverse direction Group: time series

      Parameters:
      key - the key name for the time series, must not be null
      range - the range, must not be null
      args - the extra command parameters
      Returns:
      A uni emitting the list of matching sample