RedisBloom
Тема дорожной карты · Redis
RedisBloom — модуль Redis Stack, предоставляющий вероятностные структуры данных непосредственно внутри in-memory хранилища: фильтры Блума, фильтры Кукушки, Count-Min Sketch, Top-K и T-Digest, обеспечивающие эффективное по памяти тестирование принадлежности и оценку частот на высокой скорости. Фильтр Блума, созданный через BF.ADD и запрашиваемый через BF.EXISTS, с настраиваемой вероятностью ложноположительных результатов позволяет определить, встречался ли элемент ранее, потребляя при этом долю памяти, необходимой для полного множества. RedisBloom широко используется как защита распределённого кэша от «лавины промахов»: перед запросом к базе данных отсутствующего ключа приложение проверяет фильтр Блума, чтобы отличить реальные промахи кэша от повторных запросов несуществующих данных. Структуры Count-Min Sketch и Top-K в RedisBloom ценны для аналитики в реальном времени — например, подсчёта уникальных посетителей или отслеживания наиболее запрашиваемых URL без хранения каждого события. RedisBloom делает Redis мощной платформой вероятностных вычислений, добавляя приближённые структуры данных к и без того богатому in-memory инструментарию.
Как это работает
RedisBloom пакетирует Redis-core с extension-модулями, превращая Redis в multi-model БД: RedisJSON (нативный JSON-document с JSONPath), RediSearch (full-text + secondary indexing + vector search), RedisTimeSeries (downsampling, retention, aggregation для time-series), RedisGraph (deprecated, см. FalkorDB), RedisBloom (probabilistic structures). Доступно как Docker-образ (redis/redis-stack) или отдельно установленные модули.
Когда применять
RedisJSON + RediSearch — когда нужен быстрый search/filter на JSON-данных и Postgres + Elasticsearch выглядит тяжело. RedisTimeSeries — для метрик с retention. Для vector search (RAG, рекомендации) RediSearch v2 поддерживает HNSW-индексы — конкурентен Pinecone на маленьких датасетах. Учитывайте лицензионные изменения (RSAL/SSPL с 2024); Valkey — BSD-форк.
Типичные ошибки
Ловушки RedisBloom: расчёт, что Stack-модули — часть Redis OSS (нет — отдельная лицензия, отдельные бинари); rebuild индексов RediSearch медленный на больших датасетах (планируйте capacity); managed cloud не всегда поддерживает Stack-модули (проверьте до зависимости); RedisGraph (deprecated Redis Inc., поддерживается как FalkorDB).