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(中无效的十进制怎么解决 python怎么转换进制)
python怎么转换进制?Python执行二进制转换:1.十进制到二进制(bin)首先,让让我们看看如何将十进制转换成二进制。我...
-
python怎么清除完全相同的行(python splte如何分隔有多个相同符号的str)
pythonsplte如何分隔有多个相同符号的str?str你的string内容str_(相同的符号)执行完了以后再在相同符号的...
-
python(编程控制电脑关机 如何控制电脑关机)
如何控制电脑关机?可以在电脑的运行窗口中输入输入公式,给电脑可以设置自动关机。1.按开快捷键winr然后打开运行窗口。2.在运行窗...
-
python中的特殊标识符(python 中 标识符中可以有逗号吗)
python中标识符中可以有逗号吗?在python语言中合法的标识符是字母、数字以及_,所以我合法的标识符中肯定不能有逗号if...
-
python(excel 提取数据写入新表 python导入excel数据找不到工作簿)
python导入excel数据找不到工作簿?我可以导入数据后找不到工作,不是因为他的工作没有被转移。什么软件可提取并合并Exce...
-
python中字典定义的四种方法(python global关键字的用法详解)
pythonglobal关键字的用法详解?global标志实际上是目的是提示python讲解器,说被其修饰的变量是全局变量。这样...
-
python(array用法 python如何对两个数组做差处理)
python如何对两个数组做差处理?Python中的列表中的元素肯定不能真接相加,减。t最佳的位置的是将列表装换成Python中的...
-
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...