The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск СУБД Redis 8.4

28.11.2025 18:21

Опубликован релиз СУБД Redis 8.4, относящейся к классу NoSQL-систем. Redis предоставляет функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. Код проекта написан на язык Си и распространяется под лицензией AGPLv3.

СУБД Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl.

Для управления данными предоставляются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.

Ключевые изменения в Redis 8.4:

  • Добавлена команда "FT.HYBRID" с реализацией гибридного поиска, сочетающего в одном запросе возможности полнотекстового и векторного поиска, учитывающего как прямые совпадения, так и близость по смыслу. Поддерживаются возможности агрегирования результатов с синтаксисом как у команды "FT.AGGREGATE".
  • Повышена пропускная способность в типовых применениях Redis для кэширования. Например, при нагрузках, включающих 10% операций записи (SET) и 90% операций чтения (GET) и хранении строковых значений размером 1 Кб прирост пропускной способности составил 30%.

  • Повышена производительность операций поиска (FT.SEARCH) и агрегирования результатов (FT.AGGREGATE). В нагруженных системах с большим числом параллельных запросов наблюдается прирост пропускной способности и снижение задержек до 4.7 раз при выполнении поиска и до 1.4 раза при агрегировании результатов.

  • Проведена оптимизация выделения памяти при выполнении запросов и предоставлена возможность настройки поведения при исчерпании доступной памяти (OOM, out-of-memory).
  • Снижено потребление памяти при хранении мелких строк (до 7 байт) в структурах с типом JSON. Например, массив в JSON, включающий 500 мелких элементов в формате ключ/значения теперь занимает на 37% меньше памяти.
  • Повышена эффективность хранения числовых массивов JSON, все элементы в которых имеют один тип (если раньше для каждого элемента в подобном массиве сохранялся тип и значение, то теперь тип сохраняется один раз для всего массива). В проведённом тесте подобные массивы с миллионом однородных элементов теперь требуют на 50-92% меньше памяти в зависимости от типа.
  • В команду SET добавлены опции IFEQ, IFNE, IFDEQ и IFDNE, позволяющие обойтись одной командой для обновления строкового ключа в ситуациях, когда связанное с ним значение не было изменено другим клиентом с момента его извлечения.
  • Добавлена команда XDELEX для атомарного удаления строкового ключа, если связанное с ним значение не изменилось с момента извлечения.
  • Добавлена команда DIGEST, возвращающая хэш от значения, связанного с указанным ключом.
  • В команду XREADGROUP добавлена опция "CLAIM <min-idle-time>" для чтения как ожидающих (idle pending), так и поступивших (incoming) сообщений.
  • Добавлена команда MSETEX для атомарного выставления или обновления разом нескольких строковых ключей, а также обновления времени их жизни.
  • Добавлен механизм атомарной миграции слотов межу узлами кластера (ASM - Atomic Slot Migration), напоминающий полную синхронную репликацию, но работающий на уровне отдельных слотов хранения данных. Добавлена команда CLUSTER MIGRATION, при помощи которой можно импортировать слоты с других узлов, отследить прогресс миграции и при необходимости отметить ожидающие выполнения операции миграции.
  • Добавлена команда CLUSTER SLOT-STATS для оценки статистики в кластере в разрезе отдельных слотов, такой как число ключей, нагрузка на CPU и сетевой ввод/вывод.


  1. Главная ссылка к новости (https://redis.io/blog/redis-8-...)
  2. OpenNews: Опубликован Valkey 9.0, форк СУБД Redis
  3. OpenNews: Уязвимости в Redis и Valkey, позволяющие выполнить код на сервере при наличии доступа к БД
  4. OpenNews: Уязвимости в СУБД Redis и Valkey
  5. OpenNews: Сравнение производительности СУБД Valkey и Redis
  6. OpenNews: Выпуск СУБД Redis 8.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64338-redis
Ключевые слова: redis, database, nosql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (2) RSS
  • 1, Аноним (1), 20:49, 28/11/2025 [ответить]  
  • +/
    Как он в сравнении с Valkey? Всё так же требует денег для работы?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру