← На главную

Redis 8.8: array, INCREX, +83% скорости и +60% персистентности

03.06.2026 10:05 · hackernews

Вышел Redis 8.8 в открытой версии. Главная новинка — новая структура данных array. Это индекс-адресуемая коллекция строковых значений. Элементы хранятся по числовому индексу, доступ очень быстрый. Массивы динамические, поддерживают разреженное хранение и умеют работать как кольцевой буфер с автоматическим перезаписыванием старых записей. Внутри массива можно считать SUM, MIN, MAX для чисел, а для битовых флагов — AND, OR, XOR. Ещё можно искать по точному совпадению, glob-паттерну или регулярке.

По производительности — серьёзный прирост. Пакетный MGET с I/O-threads ускорился до 68%, HGETALL для хэшей с большим числом полей — до 25%, XREADGROUP для потоков — до 83%. Персистентность и полная синхронизация реплик стали быстрее на 60%.

В Redis 8.8 добавили встроенный оконный счётчик для rate limiting — команда INCREX. Она работает как продвинутый INCR, но с контролем границ, насыщением и управлением TTL. Раньше такое требовало Lua-скриптов.

Для Redis Streams появилась команда XNACK. Теперь消费者ы могут явно отказываться от сообщений, и те сразу становятся доступны другим потребителям. Есть три режима: SILENT (сбой не из-за сообщения), FAIL (сообщение можно отдать другому), FATAL (битое сообщение — в dead-letter очередь).

Для хэшей ввели subkey-уведомления. Можно подписаться на события по конкретному полю: hset, hdel, hexpire, hpersist и другие. Это расширение key-level нотификаций из Redis 7.4.

В Time series теперь можно задать несколько агрегаторов в одном запросе: TS.RANGE ... AGGREGATION MIN,MAX,FIRST,LAST. Раньше приходилось делать четыре отдельных вызова.

Для JSON-массивов добавили явное управление типом хранения чисел с плавающей точкой: FPHA BF16, FP16, FP32 или FP64. Полезно для AI-нагрузок с эмбеддингами.

Для сортированных множеств — новый агрегатор COUNT в операциях объединения и пересечения. Он считает, в скольких исходных множествах встречается элемент, и использует это как результирующий счёт, игнорируя оригинальные веса.

Читать оригинал →