TS.MADD

语法
TS.MADD {key timestamp value}...
可用版本
Redis 开源版 / TimeSeries 1.0.0
时间复杂度
当 N 是更新的系列数量,M 是压缩规则数量时,时间复杂度为 O(N*M);没有压缩时,时间复杂度为 O(N)
ACL 分类
@timeseries, @write, @slow,

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

示例

必需参数

key

是时间序列的键名。

timestamp

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

Unix 时间是从 1970 年 1 月 1 日协调世界时 00:00:00(Unix 纪元)开始经过的毫秒数,不包含因闰秒进行的调整。

value

是样本的数值(双精度浮点数)。双精度浮点数应遵循 RFC 7159(JSON 标准)。解析器会拒绝过大的值,这些值无法容纳在 binary64 中。它不接受 NaN 或无穷大值。

注意

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

返回值

返回以下回复之一

  • 数组回复,其中每个元素都是一个 整数回复,表示 upserted(插入或更新)样本的时间戳,或一个 [](当去重策略为 BLOCK 时,或当 timestamp 与现有最大时间戳相比早于保留期时)。对于每个被忽略的元素(参见 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


评价本页面
回到顶部 ↑
© . This site is unofficial and not affiliated with Redis, Inc.