CF.INSERT
Syntax
CF.INSERT key [CAPACITY capacity] [NOCREATE] ITEMS item [item ...]
- Available in:
- Redis Stack / Bloom 1.0.0
- Time complexity:
- O(n * (k + i)), where n is the number of items, k is the number of sub-filters and i is maxIterations
将一个或多个项目添加到布谷鸟过滤器中,如果过滤器尚不存在,则允许使用自定义容量创建过滤器。
此命令类似于CF.ADD
,不同之处在于可以添加多个项目并且可以指定容量。
必需的参数
key
是用于向布谷鸟过滤器添加项目的键名。
如果 key
不存在 - 将创建一个新的布谷鸟过滤器。
ITEMS item...
要添加的一个或多个项目。
可选参数
CAPACITY capacity
指定新过滤器的所需容量,如果此过滤器尚不存在。
如果过滤器已经存在,则忽略此参数。
如果过滤器尚不存在且未指定此参数,则过滤器将使用模块级别的默认容量创建,该容量为1024。
有关布谷鸟过滤器容量的更多信息,请参见CF.RESERVE
。
NOCREATE
如果指定,当过滤器不存在时,防止自动创建过滤器(相反,会返回一个错误)。
此选项与CAPACITY
互斥。
返回值
返回以下回复之一:
- Array reply 的 Integer reply - 其中 "1" 表示项目已成功添加到过滤器中,而 "-1" 表示由于过滤器已满,项目未被添加。
- [] 在错误(无效参数、错误的键类型等)以及当指定了
NOCREATE
并且key
不存在时。
示例
redis> CF.INSERT cf CAPACITY 1000 ITEMS item1 item2
1) (integer) 1
2) (integer) 1
redis> CF.INSERT cf1 CAPACITY 1000 NOCREATE ITEMS item1 item2
(error) ERR not found
redis> CF.RESERVE cf2 2 BUCKETSIZE 1 EXPANSION 0
OK
redis> CF.INSERT cf2 ITEMS 1 1 1 1
1) (integer) 1
2) (integer) 1
3) (integer) -1
4) (integer) -1