RedisJSON
Тема дорожной карты · Redis
RedisJSON — модуль Redis Stack, добавляющий нативное хранение и обработку JSON-документов в in-memory хранилище, позволяя разработчикам сохранять, извлекать и обновлять значения JSON атомарно без сериализации и десериализации на уровне приложения. С RedisJSON вы используете команды JSON.SET, JSON.GET и JSON.ARRAPPEND для работы с глубоко вложенными JSON-путями через синтаксис JSONPath, что делает его мощной альтернативой документным базам данных для случаев кэширования и работы в реальном времени. RedisJSON бесшовно интегрируется с RediSearch, обеспечивая полнотекстовый поиск и вторичное индексирование непосредственно по JSON-документам, хранящимся в Redis. Поскольку все операции происходят в памяти, RedisJSON обеспечивает на порядки лучшую производительность чтения/записи по сравнению с получением JSON-блобов из дисковой базы данных. Команды, создающие API, каталоги электронной коммерции или хранилища конфигурации, получают значительные преимущества от RedisJSON как распределённого кэша с первоклассной поддержкой документов.
Как это работает
RedisJSON пакетирует 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-форк.
Типичные ошибки
Ловушки RedisJSON: расчёт, что Stack-модули — часть Redis OSS (нет — отдельная лицензия, отдельные бинари); rebuild индексов RediSearch медленный на больших датасетах (планируйте capacity); managed cloud не всегда поддерживает Stack-модули (проверьте до зависимости); RedisGraph (deprecated Redis Inc., поддерживается как FalkorDB).