Redis 8.4: Оновлення та нові можливості
Redis 8.4: Оновлення з новими можливостями та підвищеною ефективністю
Більше ніж три місяці після попереднього релізу версії 8.2, Redis, розподільний сховище даних в пам’яті, офіційно представив версію 8.4. Це оновлення закладає фундамент, встановлений в Redis 8.0.
Основні нововведення Redis 8.4
Ключовою новинкою є нова команда FT.HYBRID, яка поєднує повнотекстовий та векторний пошук в одному запиті. Попередні підходи вимагали складної логіки, ручного об’єднання оцінок або зовнішніх конвеєрів, що збільшувало затримки та знижувало точність.
Це дозволяє додаткам природніше виражати наміри, змішувати семантичне та буквальне співпадіння, пріоритизувати новий контекст, а також використовувати GEO та GEOSHAPE фільтри.
Підвищення продуктивності Redis 8.4
За словами розробників, Redis 8.4 забезпечує більш ніж на 30% вищу продуктивність для типових сценаріїв кешування, де 90% становлять GET запити, а 10% — SET. Пошукові навантаження також отримують переваги завдяки впровадженню багатопоточної обробки вводу-виводу для розподілених запитів.
Коли великі набори результатів розподілені по кількох шард, відповіді тепер обробляються одночасно, замість використання одного потоку. Агрегатні операції також виграють, скорочуючи час відповіді та залишаючи робочі потоки вільними для виконання пошукової логіки.

Поліпшення використання пам’яті
Щодо ефективності пам’яті, Redis 8.4 ще більше знижує споживання пам’яті JSON, оптимізуючи зберігання коротких рядків і однорідних числових масивів. Короткі рядки до семи байтів тепер зберігаються вбудованими, що зменшує використання пам’яті приблизно на 37% у звичайних випадках.
Великі числові масиви отримують ще більше вигод. Завдяки зберіганню типу елемента один раз для масиву та вибору найбільш компактного безпечного представлення — int, uint, BF16, FP16, FP32 або FP64 — двигун може зменшити використання пам’яті на 50% до 92%, залежно від діапазону значень.
Нові атомарні операції та імміграція слотів
Крім того, реліз додає нові атомарні операції, які раніше вимагали Lua скриптів. Рядкові ключі тепер підтримують операції compare-and-set і compare-and-delete безпосередньо через нові параметри SET (IFEQ, IFNE, IFDEQ, IFDNE) та нову команду XDELEX. Обновлення для кількох ключів також стало простіше завдяки MSETEX, яка може одночасно налаштовувати кілька ключів та умовно управляти їх термінами дії.
Останнє, але не менш важливе, поліпшення для кластерних розгортань пов’язане з атомарною міграцією слотів. Раніше версії Redis мігрували слоти ключ за ключем, що призводило до редиректів, зламаних конвеєрів, непослідовних багатоключових операцій та можливих втрат даних у випадках збою.
Атомарна міграція слотів, натомість, переносить дані цілого слота разом з його змінами до цільового вузла, перш ніж виконати передачу прав власності. Клієнти продовжують взаємодіяти з початковим вузлом під час копіювання, що допомагає уникнути помилок під час міграції та зменшує операційні ризики.
Для отримання додаткової інформації, перегляньте оголошення. Redis 8.4 доступний зараз через Docker Hub (Alpine або Debian образи), Snap, Homebrew, RPM та APT.




