RedisBloom计数最小素描文件¶
创建¶
CMS。INITBYDIM¶
将Count-Min Sketch初始化为用户指定的维度。
CMS。INITBYDIM {key} {width} {depth}
参数:¶
- 关键:素描的名字。
- 宽度:每个数组中的计数器数。减少错误大小。
- 深度:计数器数组个数。减少某一大小错误的概率(占总数的百分比)。
复杂性¶
O (1)
返回¶
成功时没问题,否则错误
例子¶
CMS。INITBYDIM测试2000
CMS。INITBYPROB¶
初始化Count-Min Sketch以适应所请求的容量。
CMS。INITBYPROB {key} {error} {probability}
参数:¶
- 关键:素描的名字。
- 错误:估计误差大小。这个错误占总数的百分比。这将影响草图的宽度。
- 概率:膨胀计数的期望概率。这应该是一个介于0和1之间的十进制值。这影响了草图的深度。例如,对于期望的假阳性率0.1%(千分之一),error_rate应该设置为0.001。这个数字越接近于零,每个项目的内存消耗就越大,每个操作的CPU使用就越多。
复杂性¶
O (1)
返回¶
成功时没问题,否则错误
例子¶
CMS。INITBYPROB测试0.001 0.01
更新¶
CMS。INCRBY¶
递增项的计数。一次调用可以增加多个项目。
CMS。INCRBY {key} {item} {increment} [{item} {increment}…]
参数:¶
- 关键:素描的名字。
- 项:需要增加的物品。
- 增量:要增加该整数的计数器。
复杂性¶
O (1)
返回¶
递增后的每一项的计数。
例子¶
CMS。INCRBY测试foo 10 bar 42
查询¶
CMS。查询¶
返回项目计数。一次调用可以查询多个项目。
CMS。QUERY {key} {item…}
参数:¶
- 关键:素描的名字。
- 项:需要增加的物品。
- 增量:要增加该整数的计数器。
复杂性¶
O (1)
返回¶
数一个或多个项目
例子¶
127.0.0.1:6379 > CMS。查询test foo bar 1) (integer) 10 2) (integer) 42
合并¶
CMS。合并¶
将几个草图合并成一个草图。所有的草图必须有相同的宽度和深度。重量可以用来叠加某些草图。默认权重为1。
CMS。MERGE {dest} {numKeys} {src…} [WEIGHTS {weight…}]
参数:¶
- 桌子:目的地草图的名称。必须初始化。
- numKeys:需要合并的草图数量。
- src:待合并的源草图名称。
- 重量:每个草图的多个。默认= 1。
复杂性¶
O (n)
返回¶
好的成功
例子¶
CMS。MERGE dest 2 test1 test2 WEIGHTS 1
一般¶
CMS。信息¶
返回草图的宽度、深度和总数。
CMS。信息{key}
参数:¶
- 关键:素描的名字。
复杂性¶
O(n)由于填充率百分比
例子¶
127.0.0.1:6379 > CMS。信息test 1) width 2) (integer) 2000 3) depth 4) (integer) 7 5) count 6) (integer) 0