def __init__(self, server, key, debug=False): self.start_time = time.strftime("%Y%m%d", time.localtime()) self.yesterday_time = (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y%m%d") RFPDupeFilter.__init__(self, server, key, debug) self.redis_key_today = self.key + self.start_time self.redis_key_yesterday = self.key + self.yesterday_time # 过期时间为两天 self.server.sadd(self.redis_key_today, "created") self.server.expire(self.redis_key_today, 86400 * 2)
def __init__(self, server=None, key=None, debug=False, db=0, blockNum=1, redis_key='bloomfilter'): """ :param host: the host of Redis :param port: the port of Redis :param db: witch db in Redis :param blockNum: one blockNum for about 90,000,000; if you have more strings for filtering, increase it. :param key: the key's name in Redis """ RFPDupeFilter.__init__(self, server, key, debug) self.logger = logging.getLogger(__name__) # self.server = server self.bit_size = 1 << 31 # Redis的String类型最大容量为512M,现使用256M self.seeds = [5, 7, 11, 13, 31, 37, 61] self.logger.info(self.server) self.key = redis_key self.blockNum = blockNum self.hashfunc = [] for seed in self.seeds: self.hashfunc.append(SimpleHash(self.bit_size, seed))
def __init__(self, server, key, debug=False): RFPDupeFilter.__init__(self, server, key, debug) self.df = RedisBloomFilter(server, key)