Ответ
Redis (OSS) — это open-source in-memory хранилище структур данных (база данных NoSQL, кэш, брокер сообщений).
Redis Stack — это расширенная сборка на основе Redis OSS, которая включает дополнительные проприетарные модули от Redis (ранее RediSearch, RedisJSON, RedisBloom, RedisTimeSeries, RedisGraph) в едином пакете.
Основные различия:
-
Состав:
- Redis: Ядро Redis (строки, списки, хэши, множества, сортированные множества, потоки, HyperLogLog, Bitmaps, Pub/Sub).
- Redis Stack: Redis OSS + RediSearch (поиск и вторичные индексы), RedisJSON (нативный JSON), RedisBloom (probabilistic структуры данных), RedisTimeSeries (работа с временными рядами). (RedisGraph был объединен в Redis Data Integration).
-
Лицензия: Redis OSS — лицензия BSD. Модули в Redis Stack имеют двойную лицензию (проприетарная лицензия Redis Source Available License (RSAL) или SSPL, либо коммерческая).
-
Использование: Redis Stack предоставляет готовое решение для более сложных сценариев (поиск по данным, работа с JSON, фильтры Блума) без необходимости самостоятельной сборки модулей.
Выбор:
- Используйте Redis OSS для стандартных задач кэширования, очередей, простых структур данных.
- Используйте Redis Stack, если вам нужны встроенные возможности полнотекстового поиска (RediSearch) или нативная работа с JSON (RedisJSON) в единой системе.
Ответ 18+ 🔞
Ну, смотри, чтобы не путаться в этих ваших редисках, как слепой кот в проруби. Есть просто Redis (OSS) — классика, основа основ, в памяти всё хранит, быстрее ветра. Строки, списки, хэши, множества — всё, что нужно для кэша, очередей или чтобы парочку ключей на лету пнуть. Лицензия у него BSD, то есть делай с ним что хочешь, хоть в космос запускай, главное чтоб работало.
А теперь идёт его раздутый братан, Redis Stack. Это когда к классическому Redis прикрутили кучу навороченных, но уже проприетарных модулей от самих разработчиков. Типа RediSearch для поиска (чтобы не просто ключ получить, а по всему хранилищу как шакал прочесать), RedisJSON (чтобы JSON не строкой хранить, а нативно, как бог черепаху), RedisBloom для фильтров и прочих вероятностных штук. Короче, это уже не просто база, а такой себе швейцарский нож для данных, но с подписью «собственность».
Так в чём, блядь, разница, спросишь ты?
- Что внутри: Redis — это голое ядро. Redis Stack — это ядро + куча навороченных, но уже не совсем открытых модулей в одном флаконе.
- Лицензия: С Redis OSS — полная свобода, хуй с горы. Модули в Stack имеют двойную лицензию: можно по проприетарной RSAL/SSPL (что для некоторых компаний — красная тряпка), а можно коммерческую купить.
- Зачем это всё: Redis Stack — это готовый комбайн. Не надо самому модули скачивать, собирать, проверять совместимость — всё уже в коробке, бери и пользуйся расширенными фичами.
Короче, выбор простой, как три копейки:
- Берешь Redis OSS, если тебе надо просто и быстро: закэшировать сессию, очередь задач сделать, счетчики посчитать. Всё, ебушки-воробушки.
- Хватаешь Redis Stack, если тебе в проекте вдруг понадобился полнотекстовый поиск прямо по данным в редисе или нативно с JSON'ами работать. То есть когда базовых возможностей уже мало, и хочется всё в одной системе, не плодя сущностей.
Вот и вся магия, без воды и лишней ебли.