TS.MADD

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

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

示例

必需参数

是时间序列的键名称。

时间戳

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

Unix 时间是自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来的毫秒数,不包括闰秒调整。

是样本的数值数据(双精度浮点数)。双精度浮点数应遵循 RFC 7159(JSON 标准)。解析器会拒绝不适合二进制 64 的过大值。它不接受 NaN 或无穷大值。

注意

  • 如果 时间戳 比与最大现有时间戳相比的保留期更早,则样本将被丢弃并返回错误。
  • 显式地将样本添加到已压缩的时间序列(使用 TS.ADDTS.MADDTS.INCRBYTS.DECRBY)可能会导致原始数据和压缩数据之间出现不一致。压缩过程可能会覆盖此类样本。
  • ignoreMaxTimeDiffignoreMaxValDiff 不能像 TS.ADD 那样指定。但是,基于每个键配置参数的值,相同的逻辑仍然适用。有关更多信息,请参阅 TS.ADD 命令页面。

返回值

返回以下回复之一

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

复杂度

如果时间序列上存在压缩规则,则 TS.MADD 性能可能会降低。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

另请参阅

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

RedisTimeSeries


RATE THIS PAGE
Back to top ↑