mac下Redis5 BloomFilter安装及怎么与python连用

mac下Redis5 BloomFilter安装及怎么与python连用

本文小编为大家详细介绍“mac下Redis5 BloomFilter安装及怎么与python连用”,内容详细,步骤清晰,细节处理妥当,希望这篇“mac下Redis5 BloomFilter安装及怎么与python连用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

安装及使用布隆过滤器

Centos7 上 Redis 5.x 安装及使用布隆过滤器(BloomFilter )

mac下Redis5 BloomFilter安装及怎么与python连用

1进入redis安装目录:cd/usr/local/redis-5.0.42.下载插件:gitclonehttps://github.com/RedisBloom/RedisBloom.git#https://github.com/RedisBloom/RedisBloom如果慢可以使用外网访问3.进入插件目录:cdredisbloom/(重命名之前为RedisBloom)4.执行:make5.修改redis.conf,增加配置:loadmodule/usr/local/redis-5.0.4/redisbloom/redisbloom.so6.启动redis:src/redis-server./redis.conf7.连接客户端:src/redis-cli-p63798.测试,先后执行:bf.addusersfrancisbf.existsusersfrancis9.更多内容可参考:https://oss.redislabs.com/redisbloom/

python的使用
1.第一种方法 连接 redis 使用原生的语句使用

fromredisimportStrictRedisfromdjango.confimportsettingsclassBfRedis:def__init__(self,db,host=settings.BF_REDIS_HOST,port=settings.BF_REDIS_PORT,password=settings.BF_REDIS_PASSWORD):self.client=StrictRedis(db=db,host=host,port=port,password=password)defbf_init(self,key:str,error_rate:float(),size:int):res=self.client.execute_command('BF.RESERVE',key,error_rate,size)returnresdefbf_exists(self,key,value):res=self.client.execute_command('BF.exists',key,value)returnresdefbf_add(self,key,value):returnself.client.execute_command('BF.add',key,value)defbf_local_init(self,task_id,error_rate=0.0001,size=10000):""""""key=f'bf_{task_id}'ifself.client.exists(key):returnTrueres=self.bf_init(key,error_rate,size)returnresdefbf_local_add(self,task_id,value):key=f'bf_{task_id}'res=self.bf_add(key,value)returnresdefbf_local_exists(self,task_id,value):key=f'bf_{task_id}'res=self.bf_exists(key,value)returnresdefbf_local_del(self,task_id):key=f'bf_{task_id}'res=self.client.delete(key)returnres#bf_redis=CrawlRedisClient(0)

  1. 使用 python 的工具模块

python2安装:pipinstallpybloompython3安装:pipinstallpybloom-live

demo

frompybloomimportBloomFilter,ScalableBloomFilterbf=BloomFilter(capacity=10000,error_rate=0.001)bf.add('test')print'test'inbfsbf=ScalableBloomFilter(mode=ScalableBloomFilter.SMALL_SET_GROWTH)sbf.add('dddd')print'ddd'insbf

BloomFilter是一个定容的过滤器,error_rate是指最大的误报率是0.1%,而ScalableBloomFilter是一个不定容量的布隆过滤器,它可以不断添加元素。add方法是添加元素,如果元素已经在布隆过滤器中,就返回true,如果不在返回fasle并将该元素添加到过滤器中。判断一个元素是否在过滤器中,只需要使用in运算符即可了。

读到这里,这篇“mac下Redis5 BloomFilter安装及怎么与python连用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。

发布于 2022-03-29 22:38:09
收藏
分享
海报
0 条评论
31
上一篇:如何用python实现爬取CSDN热门评论URL并存入redis 下一篇:怎么用redis+python做消息队列
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码