TS.MADD

语法
TS.MADD {key timestamp value}...
可用:
Redis 堆栈 / TimeSeries 1.0.0
时间复杂度:
当 N 是更新的序列数量,M 是压缩规则的数量,或者 O(N) 没有压缩时,O(N*M)

将新样本追加到一个或多个时间序列

例子

必需参数

key

是时间序列的键名称。

timestamp

是 Unix 时间(整数,以毫秒为单位),指定采样时间戳,或将采样时间戳设置为服务器时钟的 Unix 时间。*

Unix 时间是自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来经过的毫秒数,未因闰秒而进行调整。

value

是样本的数值数据值 (double)。双数应遵循 RFC 7159(JSON 标准)。解析器拒绝不适合 binary64 的过大值。它不接受 NaN 或无限值。

笔记:

  • 如果timestamp早于保留期(与最大现有时间戳相比),则丢弃样本并返回错误。
  • 将样本显式添加到压缩的时间序列中(使用TS.ADD,TS.MADD,TS.INCRBYTS.DECRBY) 可能会导致原始数据与压缩数据不一致。压缩过程可能会覆盖此类样本。
  • ignoreMaxTimeDiffignoreMaxValDiff不能像TS.ADD.但是,相同的 logic 仍然根据 per-key 配置参数的值适用。请参阅TS.ADD命令页面了解更多信息。

返回值

返回以下回复之一:

  • 数组回复,其中每个元素都是一个 Integer 回复,表示更新插入样本的时间戳或 [](当复制策略为BLOCKtimestamp早于保留期(与最大现有时间戳相比)。对于每个被忽略的元素(请参阅IGNORETS.CREATE),则 reply 元素值将是时间序列中的最大时间戳。
  • [](参数无效、键类型错误等)

复杂性

如果压缩规则在时间序列上退出,则 TS.MADD 性能可能会降低。 The complexity of TS.MADD 始终为O(N*M)哪里N是更新的序列数量,M是压缩规则的数量,或者O(N)没有压缩。

例子

添加不同时间戳的股票价格

创建两只股票,并在三个不同的时间戳添加它们的价格。

127.0.0.1:6379> TS.CREATE stock:A LABELS type stock name A
OK
127.0.0.1:6379> TS.CREATE stock:B LABELS type stock name B
OK
127.0.0.1:6379> TS.MADD stock:A 1000 100 stock:A 1010 110 stock:A 1020 120 stock:B 1000 120 stock:B 1010 110 stock:B 1020 100
1) (integer) 1000
2) (integer) 1010
3) (integer) 1020
4) (integer) 1000
5) (integer) 1010
6) (integer) 1020

See also

TS.MRANGE | TS.RANGE | TS.MREVRANGE | TS.REVRANGE

RedisTimeSeries


RATE THIS PAGE
Back to top ↑