Class BlockingTimeSeriesCommandsImpl<K>
- java.lang.Object
-
- io.quarkus.redis.runtime.datasource.AbstractRedisCommandGroup
-
- io.quarkus.redis.runtime.datasource.BlockingTimeSeriesCommandsImpl<K>
-
- All Implemented Interfaces:
RedisCommands
,TimeSeriesCommands<K>
public class BlockingTimeSeriesCommandsImpl<K> extends AbstractRedisCommandGroup implements TimeSeriesCommands<K>
-
-
Field Summary
-
Fields inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommandGroup
ds, timeout
-
-
Constructor Summary
Constructors Constructor Description BlockingTimeSeriesCommandsImpl(RedisDataSource ds, ReactiveTimeSeriesCommands<K> reactive, Duration timeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
tsAdd(K key, double value)
Execute the command TS.ADD.void
tsAdd(K key, double value, AddArgs args)
Execute the command TS.ADD.void
tsAdd(K key, long timestamp, double value)
Execute the command TS.ADD.void
tsAdd(K key, long timestamp, double value, AddArgs args)
Execute the command TS.ADD.void
tsAlter(K key, AlterArgs args)
Execute the command TS.ALTER.void
tsCreate(K key)
Execute the command TS.CREATE.void
tsCreate(K key, CreateArgs args)
Execute the command TS.CREATE.void
tsCreateRule(K key, K destKey, Aggregation aggregation, Duration bucketDuration)
Execute the command TS.CREATERULE.void
tsCreateRule(K key, K destKey, Aggregation aggregation, Duration bucketDuration, long alignTimestamp)
Execute the command TS.CREATERULE.void
tsDecrBy(K key, double value)
Execute the command TS.DECRBY.void
tsDecrBy(K key, double value, IncrementArgs args)
Execute the command TS.DECRBY.void
tsDel(K key, long fromTimestamp, long toTimestamp)
Execute the command TS.DEL.void
tsDeleteRule(K key, K destKey)
Execute the command TS.DELETERULE.Sample
tsGet(K key)
Execute the command TS.GET.Sample
tsGet(K key, boolean latest)
Execute the command TS.GET.void
tsIncrBy(K key, double value)
Execute the command TS.INCRBY.void
tsIncrBy(K key, double value, IncrementArgs args)
Execute the command TS.INCRBY.void
tsMAdd(SeriesSample<K>... samples)
Execute the command TS.MADD.Map<String,SampleGroup>
tsMGet(Filter... filters)
Execute the command TS.MGET.Map<String,SampleGroup>
tsMGet(MGetArgs args, Filter... filters)
Execute the command TS.MGET.Map<String,SampleGroup>
tsMRange(TimeSeriesRange range, Filter... filters)
Execute the command TS.MRANGE.Map<String,SampleGroup>
tsMRange(TimeSeriesRange range, MRangeArgs args, Filter... filters)
Execute the command TS.MRANGE.Map<String,SampleGroup>
tsMRevRange(TimeSeriesRange range, Filter... filters)
Execute the command TS.MREVRANGE.Map<String,SampleGroup>
tsMRevRange(TimeSeriesRange range, MRangeArgs args, Filter... filters)
Execute the command TS.MREVRANGE.List<K>
tsQueryIndex(Filter... filters)
Execute the command TS.QUERYINDEX.List<Sample>
tsRange(K key, TimeSeriesRange range)
Execute the command TS.RANGE.List<Sample>
tsRange(K key, TimeSeriesRange range, RangeArgs args)
Execute the command TS.RANGE.List<Sample>
tsRevRange(K key, TimeSeriesRange range)
Execute the command TS.REVRANGE.List<Sample>
tsRevRange(K key, TimeSeriesRange range, RangeArgs args)
Execute the command TS.REVRANGE.-
Methods inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommandGroup
getDataSource
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.quarkus.redis.datasource.RedisCommands
getDataSource
-
-
-
-
Constructor Detail
-
BlockingTimeSeriesCommandsImpl
public BlockingTimeSeriesCommandsImpl(RedisDataSource ds, ReactiveTimeSeriesCommands<K> reactive, Duration timeout)
-
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series must not benull
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series must not benull
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, double value, AddArgs args)
Description copied from interface:TimeSeriesCommands
Execute the command TS.ADD. Summary: Append a sample to a time series Group: time seriesUnlike
TimeSeriesCommands.tsAdd(Object, long, double, AddArgs)
, set the timestamp according to the server clock.- Specified by:
tsAdd
in interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series must not benull
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
timestamp
- the (long) UNIX sample timestamp in millisecondsvalue
- 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 seriesUnlike
TimeSeriesCommands.tsAdd(Object, long, double)
, set the timestamp according to the server clock.- Specified by:
tsAdd
in interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
value
- the numeric data value of the sample, must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
args
- the alter parameters, must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
destKey
- the key name for destination (compacted) time series. It must be created before TS.CREATERULE is called. Must not benull
.aggregation
- the aggregation function, must not benull
bucketDuration
- the duration of each bucket, must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
destKey
- the key name for destination (compacted) time series. It must be created before TS.CREATERULE is called. Must not benull
.aggregation
- the aggregation function, must not benull
bucketDuration
- the duration of each bucket, must not benull
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
value
- the numeric data value of the sample, must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
value
- the numeric data value of the sample, must not benull
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 seriesThe given timestamp interval is closed (inclusive), meaning that samples whose timestamp equals the fromTimestamp or toTimestamp are also deleted.
- Specified by:
tsDel
in interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
destKey
- the key name for destination (compacted) time series. Note that the command does not delete the compacted series. Must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
- 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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
latest
- used when a time series is a compaction. With LATEST set totrue
, 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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
value
- the numeric data value of the sample, must not benull
-
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series. must not benull
value
- the numeric data value of the sample, must not benull
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 interfaceTimeSeriesCommands<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 interfaceTimeSeriesCommands<K>
- Parameters:
args
- the extra command parameter, must not benull
filters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
filters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
range
- the range, must not benull
filters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
range
- the range, must not benull
args
- the extra command parametersfilters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
range
- the range, must not benull
filters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
range
- the range, must not benull
args
- the extra command parametersfilters
- the filters. Instanced are created using the static methods fromFilter
. Must not benull
, or contain anull
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 interfaceTimeSeriesCommands<K>
- Parameters:
filters
- the filter, created from theFilter
class. Must not benull
, must not containnull
- 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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
range
- the range, must not benull
- 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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
range
- the range, must not benull
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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
range
- the range, must not benull
- 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 interfaceTimeSeriesCommands<K>
- Parameters:
key
- the key name for the time series, must not benull
range
- the range, must not benull
args
- the extra command parameters- Returns:
- A uni emitting the list of matching sample
-
-