Heim  >  Artikel  >  Datenbank  >  Installation von Redis5 BloomFilter unter Mac und Verwendung mit Python

Installation von Redis5 BloomFilter unter Mac und Verwendung mit Python

WBOY
WBOYnach vorne
2023-05-30 08:01:051058Durchsuche

Installieren und verwenden Sie den Bloom-Filter.

Installieren und verwenden Sie den Bloom-Filter (BloomFilter) auf Redis 5.x auf Centos7 Werkzeugmodul


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/

demo
    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. Die Methode besteht darin, das Element hinzuzufügen. Wenn das Element bereits im Bloom-Filter vorhanden ist, geben Sie „true“ zurück und fügen Sie das Element dem Filter hinzu. Um festzustellen, ob sich ein Element im Filter befindet, verwenden Sie einfach den in-Operator.

Das obige ist der detaillierte Inhalt vonInstallation von Redis5 BloomFilter unter Mac und Verwendung mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen