高级专题

redis布隆过滤器

2020-10-26  本文已影响0人  realPeanut

source : https://github.com/RedisBloom/RedisBloom

git clone https://github.com/RedisBloom/RedisBloom
cd RedisBloom
make
redis-server --loadmodule redisbloom.so

当然也可以在配置文件中进行配置

bf.reserve key(键) error_rate(期望错误率) capacity(预期添加到布隆过滤器中的数目)
  1. 创建布隆过滤器
bf.reserve realpeanut 0.01 3
//output OK
//时间复杂度O(1)
//创建键为realpeanut 期望误判率为0.01 预计容量为3

key:可以在其中找到过滤器的键

error_rate:误报的期望概率。这应该是介于0和1之间的十进制值。例如,对于期望的误报率0.1%(1000中为1),error_rate应该设置为0.001。该数字越接近零,则每个项目的内存消耗越大,并且每个操作的CPU使用率越高。

capacity:您打算添加到过滤器中的条目数。添加超过此数量的项目后,性能将开始下降。实际的降级将取决于超出限制的程度。随着条目数量呈指数增长,性能将线性下降。

  1. 添加元素
bf.add key value
//output value 不存在返回1 存在返回0
//时间复杂度 O(logN)
  1. 批量添加
bf.madd key value ...
// O(logN)
//output An array of booleans (integers)
  1. 添加元素,如果过滤器不存在则创建
bf.insert key ITEMS value1 value2 value3 ...
//向 key中添加多个 value key不存在则创建
bf.insert key CAPACITY 10000 ITEMS value 
//向key中添加value不存在则创建预期大小为10000的过滤器
  1. 判断value是否存在
bf.exists key value  //判断 1个值
bf.mexists key value... //判断多个值
  1. 查看过滤器信息
bf.info key
上一篇下一篇

猜你喜欢

热点阅读