Available in: Redis Stack
Time complexity: O(k * n), where k is the number of hash functions and n is the number of items
BF.INSERT is a sugarcoated combination of BF.RESERVE and BF.ADD. It creates a
new filter if the key
does not exist using the relevant arguments (see BF.RESERVE).
Next, all ITEMS
are inserted.
ITEMS
keyword must precede the list of items to add.Optional parameters:
NOCREATE
together with either CAPACITY
or ERROR
.capacity
for the
filter to be created. This parameter is ignored if the filter already exists.
If the filter is automatically created and this parameter is absent, then the
module-level capacity
is used. See BF.RESERVE
for more information about the impact of this value.error
ratio of the newly
created filter if it does not yet exist. If the filter is automatically
created and error
is not specified then the module-level error
rate is used. See BF.RESERVE
for more information about the format of this
value.capacity
is reached.capacity
is reached, an additional sub-filter is
created. The size of the new sub-filter is the size of the last sub-filter
multiplied by expansion
. If the number of elements to be stored in the
filter is unknown, we recommend that you use an expansion
of 2 or more
to reduce the number of sub-filters. Otherwise, we recommend that you use an
expansion
of 1 to reduce memory consumption. The default expansion value is 2.An array of booleans (integers). Each element is either true or false depending on whether the corresponding input element was newly added to the filter or may have previously existed.
Add three items to a filter with default parameters if the filter does not already exist:
BF.INSERT filter ITEMS foo bar baz
Add one item to a filter with a capacity of 10000 if the filter does not already exist:
BF.INSERT filter CAPACITY 10000 ITEMS hello
Add 2 items to a filter with an error if the filter does not already exist:
BF.INSERT filter NOCREATE ITEMS foo bar