Class BlockingTimeSeriesCommandsImpl<K>

    • Method Detail

      • tsCreate

        public void tsCreate​(K key,
                             CreateArgs args)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.CREATE. Summary: Create a new time series Group: time series
        Specified by:
        tsCreate in interface TimeSeriesCommands<K>
        Parameters:
        key - the key name for the time series must not be null
        args - the creation arguments.
      • tsCreate

        public void tsCreate​(K key)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.CREATE. Summary: Create a new time series Group: time series
        Specified by:
        tsCreate in interface TimeSeriesCommands<K>
        Parameters:
        key - the key name for the time series must not be null
      • tsAdd

        public void tsAdd​(K key,
                          long timestamp,
                          double value,
                          AddArgs args)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series
        Specified by:
        tsAdd in interface TimeSeriesCommands<K>
        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

        public void tsAdd​(K key,
                          long timestamp,
                          double value)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series
        Specified by:
        tsAdd in interface TimeSeriesCommands<K>
        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

        public void tsAdd​(K key,
                          double value)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.ADD. Summary: Append a sample to a time series Group: time series

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

        Specified by:
        tsAdd in interface TimeSeriesCommands<K>
        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
      • tsAlter

        public void tsAlter​(K key,
                            AlterArgs args)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.ALTER. Summary: Update the retention, chunk size, duplicate policy, and labels of an existing time series Group: time series
        Specified by:
        tsAlter in interface TimeSeriesCommands<K>
        Parameters:
        key - the key name for the time series, must not be null
        args - the alter parameters, must not be null
      • tsCreateRule

        public void tsCreateRule​(K key,
                                 K destKey,
                                 Aggregation aggregation,
                                 Duration bucketDuration)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.CREATERULE. Summary: Create a compaction rule Group: time series
        Specified by:
        tsCreateRule in interface TimeSeriesCommands<K>
        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

        public void tsCreateRule​(K key,
                                 K destKey,
                                 Aggregation aggregation,
                                 Duration bucketDuration,
                                 long alignTimestamp)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.CREATERULE. Summary: Create a compaction rule Group: time series
        Specified by:
        tsCreateRule in interface TimeSeriesCommands<K>
        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

        public void tsDecrBy​(K key,
                             double value)
        Description copied from interface: TimeSeriesCommands
        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

        Specified by:
        tsDecrBy in interface TimeSeriesCommands<K>
        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

        public void tsDecrBy​(K key,
                             double value,
                             IncrementArgs args)
        Description copied from interface: TimeSeriesCommands
        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

        Specified by:
        tsDecrBy in interface TimeSeriesCommands<K>
        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

        public void tsDel​(K key,
                          long fromTimestamp,
                          long toTimestamp)
        Description copied from interface: TimeSeriesCommands
        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.

        Specified by:
        tsDel in interface TimeSeriesCommands<K>
        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

        public void tsDeleteRule​(K key,
                                 K destKey)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.DELETERULE. Summary: Delete a compaction rule Group: time series

        Specified by:
        tsDeleteRule in interface TimeSeriesCommands<K>
        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

        public Sample tsGet​(K key)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.GET. Summary: Get the last sample Group: time series

        Specified by:
        tsGet in interface TimeSeriesCommands<K>
        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

        public Sample tsGet​(K key,
                            boolean latest)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.GET. Summary: Get the last sample Group: time series

        Specified by:
        tsGet in interface TimeSeriesCommands<K>
        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

        public void tsIncrBy​(K key,
                             double value)
        Description copied from interface: TimeSeriesCommands
        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

        Specified by:
        tsIncrBy in interface TimeSeriesCommands<K>
        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

        public void tsIncrBy​(K key,
                             double value,
                             IncrementArgs args)
        Description copied from interface: TimeSeriesCommands
        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

        Specified by:
        tsIncrBy in interface TimeSeriesCommands<K>
        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

        public void tsMAdd​(SeriesSample<K>... samples)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.MADD. Summary: Append new samples to one or more time series Group: time series
        Specified by:
        tsMAdd in interface TimeSeriesCommands<K>
        Parameters:
        samples - the set of samples to add to the time series.
      • tsMGet

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

        Specified by:
        tsMGet in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsMGet in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsMRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsMRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsMRevRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsMRevRange in interface TimeSeriesCommands<K>
        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

        public List<K> tsQueryIndex​(Filter... filters)
        Description copied from interface: TimeSeriesCommands
        Execute the command TS.QUERYINDEX. Summary: Get all time series keys matching a filter list Group: time series
        Specified by:
        tsQueryIndex in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsRevRange in interface TimeSeriesCommands<K>
        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

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

        Specified by:
        tsRevRange in interface TimeSeriesCommands<K>
        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