TDIGEST.MERGE
语法
TDIGEST.MERGE destination-key numkeys source-key [source-key ...] [COMPRESSION compression] [OVERRIDE]
- 可用性
- Redis Stack / Bloom 2.4.0
- 时间复杂度
- O(N*K),其中 N 是质心数量,K 是输入草图的数量
将多个 t-digest 草图合并成一个草图。
必需参数
destination-key
是用于合并观测值的 t-digest 草图的键名称。
如果 destination-key
不存在 - 将创建一个新的草图。
如果 destination-key
是一个现有的草图,它的值将与源键的值合并。 要覆盖目标键的内容,请使用 OVERRIDE
。
numkeys
要从中合并观测值的草图数量(1 个或更多)。source-key
每一个都是用于合并观测值的 t-digest 草图的键名称。可选参数
COMPRESSION compression
是准确度和内存消耗之间可控的权衡。 100 是正常使用情况下的常见值。 1000 更准确。 如果不传递值,默认情况下压缩将为 100。 有关准确度与压缩参数之间的缩放关系的更多信息,请参阅 The t-digest: Efficient estimates of distributions。
当 COMPRESSION
未指定时
- 如果
destination-key
不存在或指定了OVERRIDE
,则压缩将设置为所有源草图中的最大值。 - 如果
destination-key
已经存在并且没有指定OVERRIDE
,则不会更改其压缩。
OVERRIDE
如果指定,如果 `destination-key` 已经存在,它将被覆盖。返回值
成功时为 OK,否则为错误。
示例
redis> TDIGEST.CREATE s1
OK
redis> TDIGEST.CREATE s2
OK
redis> TDIGEST.ADD s1 10.0 20.0
OK
redis> TDIGEST.ADD s2 30.0 40.0
OK
redis> TDIGEST.MERGE sM 2 s1 s2
OK
redis> TDIGEST.BYRANK sM 0 1 2 3 4
1) "10"
2) "20"
3) "30"
4) "40"
5) "inf"