跳到内容

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
Baidu