create method

Future<void> create({
  1. required String key,
  2. Duration? retention,
  3. RedisTimeSeriesEncoding? encoding,
  4. int? chunkSize,
  5. RedisTimeSeriesDuplicatePolicy? duplicatePolicy,
  6. List<({String label, String value})>? labels,
})

Create a new time series. Equivalent to the TS.CREATE command. https://redis.io/commands/ts.create

Implementation

Future<void> create({
  required String key,
  Duration? retention,
  RedisTimeSeriesEncoding? encoding,
  int? chunkSize,
  RedisTimeSeriesDuplicatePolicy? duplicatePolicy,
  List<({String label, String value})>? labels,
}) {
  return _client.execute([
    'TS.CREATE',
    key,
    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 (labels != null) ...[
      'LABELS',
      for (final label in labels) ...[label.label, label.value],
    ],
  ]);
}