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 Detail

      • 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