add method
Future<void>
add({
- required String key,
- required RedisTimeSeriesTimestamp timestamp,
- required double value,
- Duration? retention,
- RedisTimeSeriesEncoding? encoding,
- int? chunkSize,
- RedisTimeSeriesDuplicatePolicy? duplicatePolicy,
- RedisTimeSeriesDuplicatePolicy? onDuplicate,
- List<
({String label, String value})> ? labels,
Append a sample to a time series.
Equivalent to the TS.ADD
command.
Note: When the specified key does not exist, a new time series is created.
https://redis.io/commands/ts.add
Implementation
Future<void> add({
required String key,
required RedisTimeSeriesTimestamp timestamp,
required double value,
Duration? retention,
RedisTimeSeriesEncoding? encoding,
int? chunkSize,
RedisTimeSeriesDuplicatePolicy? duplicatePolicy,
RedisTimeSeriesDuplicatePolicy? onDuplicate,
List<({String label, String value})>? labels,
}) {
return _client.execute([
'TS.ADD',
key,
timestamp.value,
value,
if (retention != null) ...['RETENTION', retention.inMilliseconds],
if (encoding != null) ...['ENCODING', encoding.toArgument()],
if (chunkSize != null) ...['CHUNK_SIZE', chunkSize],
if (duplicatePolicy != null) ...[
'DUPLICATE_POLICY',
duplicatePolicy.toArgument(),
],
if (onDuplicate != null) ...['ON_DUPLICATE', onDuplicate.toArgument()],
if (labels != null) ...[
'LABELS',
for (final label in labels) ...[label.label, label.value],
],
]);
}