コード例 #1
0
    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)
コード例 #2
0
ファイル: bloom_filter.py プロジェクト: hcxdata/zergling
 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))
コード例 #3
0
 def __init__(self, server, key, debug=False):
     RFPDupeFilter.__init__(self, server, key, debug)
     self.df = RedisBloomFilter(server, key)