BF.RESERVE
BF.RESERVE key error_rate capacity [EXPANSION expansion] [NONSCALING]
Creates an empty Bloom Filter with a single sub-filter for the initial capacity requested and with an upper bound error_rate. By default, the filter auto-scales by creating additional sub-filters when capacity is reached. The new sub-filter is created with size of the previous sub-filter multiplied by expansion.
Though the filter can scale up by creating sub-filters, it is recommended to reserve the estimated required capacity since maintaining and querying sub-filters requires additional memory (each sub-filter uses an extra bits and hash function) and consume further CPU time than an equivalent filter that had the right capacity at creation time.
The number of hash functions is -log(error)/ln(2)^2. The number of bits per item is -log(error)/ln(2) ≈ 1.44.
sub-filters.Optional parameters:
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.Simple string reply - OK if executed correctly, or Error reply otherwise.
redis> BF.RESERVE bf 0.01 1000 OK
redis> BF.RESERVE bf 0.01 1000 (error) ERR item exists
redis> BF.RESERVE bf_exp 0.01 1000 EXPANSION 2 OK
redis> BF.RESERVE bf_non 0.01 1000 NONSCALING OK
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/bf.reserve/