Spec-Zone.ru › Redis

TS.ADD

TS.ADD
Синтаксис
TS.ADD key timestamp value 
  [RETENTION retentionPeriod] 
  [ENCODING [COMPRESSED|UNCOMPRESSED]] 
  [CHUNK_SIZE size] 
  [ON_DUPLICATE policy] 
  [LABELS {label value}...]
Доступно в:
Redis Stack / TimeSeries 1.0.0
Временная сложность:
O(M), где M — количество правил компактизации, или O(1) без компактизации

Добавление выборки в временной ряд

Примеры

Обязательные аргументы

key

имя ключа временного ряда.

timestamp

маркер времени выборки (целое число) в формате метки времени Unix в миллисекундах или * для установки метки времени по серверному времени.

value

численное значение выборки (число с плавающей точкой). Число с плавающей точкой должно соответствовать RFC 7159 (стандарт JSON). В частности, парсер отклоняет слишком большие значения, которые не помещаются в тип binary64. Он также не принимает значения NaN или бесконечность.

Примечания:

  • Если указанный ключ не существует, создается новый временной ряд.

    Если параметр конфигурации COMPACTION_POLICY определен, также создается компактизированный временной ряд.

  • Если timestamp старше периода хранения по сравнению с максимальной существующей меткой времени, выборка отбрасывается, и возвращается ошибка.

  • При добавлении выборки во временной ряд, для которого определены правила компактизации:

    • Если все исходные выборки для соответствующего агрегированного временного интервала доступны, компактированное значение пересчитывается на основе предоставленной выборки и исходных выборок.
    • Если только часть исходных выборок для соответствующего агрегированного временного интервала доступна из-за обрезки в соответствии с политикой хранения временного ряда, компактированное значение пересчитывается на основе предоставленной выборки и доступных исходных выборок.
    • Если исходные выборки для соответствующего агрегированного временного интервала недоступны из-за обрезки в соответствии с политикой хранения временного ряда, компактированный интервал значения не обновляется.
  • Явное добавление выборок в компактированный временной ряд (используя TS.ADD, TS.MADD, TS.INCRBY или TS.DECRBY) может привести к несоответствиям между сырыми и компактированными данными. Процесс компактизации может переопределить такие выборки.

Дополнительные аргументы

Следующие аргументы являются необязательными, так как их можно установить с помощью TS.CREATE.

RETENTION retentionPeriod

максимальный период хранения, по сравнению с максимальной существующей меткой времени, в миллисекундах.

Используйте его только при создании нового временного ряда. Он игнорируется при добавлении выборок в существующий временной ряд. См. RETENTION в TS.CREATE.

ENCODING enc

указывается формат кодирования выборки временного ряда.

Используйте его только при создании нового временного ряда. Он игнорируется при добавлении выборок в существующий временной ряд. См. ENCODING в TS.CREATE.

CHUNK_SIZE size размер памяти в байтах, выделенный для каждого блока данных.

Используйте его только при создании нового временного ряда. Он игнорируется при добавлении выборок в существующий временной ряд. См. CHUNK_SIZE в TS.CREATE.

ON_DUPLICATE policy

переопределяет ключ и конфигурацию базы данных для DUPLICATE_POLICY, политики обработки выборок с одинаковыми метками времени. Используется с одним из следующих значений:

  • BLOCK: игнорировать любое новое значение и ответить ошибкой
  • FIRST: игнорировать любое новое значение
  • LAST: перезаписывать новым значением
  • MIN: перезаписывать только если значение меньше существующего
  • MAX: перезаписывать только если значение больше существующего
  • SUM: Если предыдущая выборка существует, добавить новую выборку к ней, так что обновлённое значение равно (предыдущее + новое). Если предыдущей выборки нет, установить обновлённое значение равным новому значению.
LABELS {label value}...

набор пар "метка-значение", представляющих метаданные метки временного ряда.

Используйте его только при создании нового временного ряда. Он игнорируется при добавлении выборок в существующий временной ряд. См. LABELS в TS.CREATE.

Примечания:

  • Вы можете использовать эту команду для добавления данных в несуществующий временной ряд за один вызов. Поэтому RETENTION, ENCODING, CHUNK_SIZE, ON_DUPLICATE, и LABELS являются необязательными аргументами.
  • Установка RETENTION и LABELS добавляет дополнительную временную сложность.

Возвращаемое значение

Целое число в ответе — метка времени добавленной выборки или Ошибка в ответе.

Сложность

Если для временного ряда установлено правило компактизации, производительность TS.ADD может снизиться. Сложность TS.ADD всегда равна O(M), где M — количество правил компактизации, или O(1) без компактизации.

Примеры

Добавление выборки в временной ряд температуры

Создайте временной ряд температуры, установите период хранения в 1 год и добавьте выборку.

127.0.0.1:6379> TS.ADD temperature:3:11 1548149183000 27 RETENTION 31536000000
(integer) 1548149183000

Примечание: Если временной ряд с таким именем уже существует, выборка добавляется, но период хранения не меняется.

Добавьте выборку во временной ряд, установив метку времени выборки по серверному времени.

127.0.0.1:6379> TS.ADD temperature:3:11 * 30
(integer) 1662042954573

См. также

TS.CREATE

Связанные темы

RedisTimeSeries

© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/ts.add/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API