mac下Redis5 BloomFilter安装及怎么与python连用
mac下Redis5 BloomFilter安装及怎么与python连用
本文小编为大家详细介绍“mac下Redis5 BloomFilter安装及怎么与python连用”,内容详细,步骤清晰,细节处理妥当,希望这篇“mac下Redis5 BloomFilter安装及怎么与python连用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
安装及使用布隆过滤器
Centos7 上 Redis 5.x 安装及使用布隆过滤器(BloomFilter )
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)
使用 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连用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Python 3.12 新特性解析:模式匹配增强与性能优化实战
-
Lightly IDE 深度评测:轻量级 Python 开发工具是否适合团队协作?
-
VS Code 自定义配置:JSON 文件修改、代码片段与任务自动化脚本
-
Python 虚拟环境选择:venv、conda、poetry 的适用场景对比
-
PyCharm+GitHub Copilot:Python 开发中 AI 辅助编码的最佳实践
-
PyCharm 无法识别虚拟环境?5 步排查 Python 解释器配置问题
-
数据科学工具链:Jupyter Notebook+RStudio+Python 的协同工作流
-
Python 3.12 新特性:模式匹配增强与性能改进实战
-
Lightly IDE 适合谁?轻量级 Python 开发工具深度评测
-
Python IDE 终极对比:PyCharm vs VS Code vs Jupyter Notebook