Что такое Bloom Filter в Python?

Senior
157 просмотров
AFK Offer AI

Bloom Filter — вероятностная структура данных. Отвечает: "точно нет" или "возможно да". Никогда не даёт false negative. False positive возможен с заданной вероятностью. Реализация: битовый массив + k хеш-функций. add(item) — устанавливает k бит. check(item) — проверяет k бит. Библиотеки: pybloom_live, bloomfilter. Применения: проверка уникальности URL (краулер), кеш — быстро отсечь точно отсутствующие ключи, спам фильтр, дедупликация. Redis: BF.ADD, BF.EXISTS — RedisBloom модуль. Параметры: m (размер массива), k (число хешей), p (вероятность false positive). Экономит память: миллионы элементов в КБ.

Следующий вопрос

Как использовать модуль dis?