Mac での Redis5 BloomFilter のインストールと Python での使用方法

WBOY
リリース: 2023-05-30 08:01:05
転載
1006 人が閲覧しました

ブルームフィルターのインストールと使い方

Centos7上のRedis 5.xでのブルームフィルター(BloomFilter)のインストールと使い方

1 进入redis安装目录:cd /usr/local/redis-5.0.4 2. 下载插件: git clone https://github.com/RedisBloom/RedisBloom.git # https://github.com/RedisBloom/RedisBloom 如果慢 可以使用外网访问 3. 进入插件目录: cd redisbloom/ (重命名之前为RedisBloom) 4. 执行: make 5. 修改 redis.conf,增加配置: loadmodule /usr/local/redis-5.0.4/redisbloom/redisbloom.so 6. 启动redis: src/redis-server ./redis.conf 7. 连接客户端: src/redis-cli -p 6379 8. 测试,先后执行: bf.add users francis bf.exists users francis 9. 更多内容可参考: https://oss.redislabs.com/redisbloom/
ログイン後にコピー

Pythonの使い方
1. 1つ目の方法Redis に接続するには ネイティブ ステートメントを使用します

from redis import StrictRedis from django.conf import settings class BfRedis: 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) def bf_init(self, key: str, error_rate: float(), size: int): res = self.client.execute_command('BF.RESERVE', key, error_rate, size) return res def bf_exists(self, key, value): res = self.client.execute_command('BF.exists', key, value) return res def bf_add(self, key, value): return self.client.execute_command('BF.add', key, value) def bf_local_init(self, task_id, error_rate=0.0001, size=10000): """ """ key = f'bf_{task_id}' if self.client.exists(key): return True res = self.bf_init(key, error_rate, size) return res def bf_local_add(self, task_id, value): key = f'bf_{task_id}' res = self.bf_add(key, value) return res def bf_local_exists(self, task_id, value): key = f'bf_{task_id}' res = self.bf_exists(key, value) return res def bf_local_del(self, task_id): key = f'bf_{task_id}' res = self.client.delete(key) return res # bf_redis = CrawlRedisClient(0)
ログイン後にコピー
  1. Python ツール モジュールを使用します

python2安装:pip install pybloom python3安装:pip install pybloom-live
ログイン後にコピー

demo

from pybloom import BloomFilter, ScalableBloomFilter bf = BloomFilter(capacity=10000, error_rate=0.001) bf.add('test') print 'test' in bf sbf = ScalableBloomFilter(mode=ScalableBloomFilter.SMALL_SET_GROWTH) sbf.add('dddd') print 'ddd' in sbf
ログイン後にコピー

BloomFilter定容量フィルター、error_rate は最大誤検知率が 0.1% であることを意味し、ScalableBloomFilter可変容量ブルーム フィルターであり、継続的に実行できます。要素を追加します。add要素を追加するメソッドです。要素がすでにブルーム フィルタに存在する場合は true を返し、そうでない場合は fasle を返し、要素をフィルタに追加します。要素がフィルター内にあるかどうかを判断するには、in 演算子を使用するだけです。

以上がMac での Redis5 BloomFilter のインストールと Python での使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!