Проект с открытым исходным кодом Redis сегодня официально выпустил версию 8.8, как всегда позиционируемую как новое поколение стабильной версии высокопроизводительных решений для хранения данных в памяти. Самым ярким моментом этого обновления является первое введение собственной структуры данных массива (Array), а также ряд оптимизаций производительности с точки зрения методов построения, многопоточного использования и базовой реализации для дальнейшего повышения эффективности работы для платформ x86_64 и ARM64.

Новая структура данных массива в Redis 8.8 официально описана как ответ на долгосрочные призывы сообщества, а это означает, что Redis наконец-то имеет встроенную поддержку массивов. В типичных сценариях массивы можно использовать для агрегирования данных на стороне сервера, выполнения операций типа grep над удаленными данными или обработки наборов данных, которые зависят от относительного положения элементов, тем самым уменьшая сложную логику и количество сетевых обращений на стороне клиента. Конкретные детали дизайна и реализации этого нового типа были обнародованы посредством запроса на включение, объединенного с основной базой кода, что упрощает разработчикам просмотр и участие в обсуждениях.
На уровне производительности Redis 8.8 также содержит ряд заслуживающих внимания улучшений. Среди них релизная версия платформы x86_64 теперь по умолчанию включает оптимизацию времени соединения (LTO), чтобы получить лучший эффект двоичной оптимизации и более высокую общую производительность выполнения. Было улучшено использование потоков, а некоторая исходная логика была переработана для более полного использования многоядерных аппаратных ресурсов и устранения узких мест в сценариях с высоким уровнем параллелизма.
Чтобы снизить накладные расходы, вызванные межъязыковыми вызовами, эта версия также снижает накладные расходы FFI (интерфейс внешних функций) за счет переноса некоторых кодов на Rust, обеспечивая безопасность и одновременно повышая эффективность работы. Redis, специально оптимизированный для архитектуры ARM64, имеет более высокую производительность на этой платформе и подходит для различных форм развертывания — от облачных серверов до встроенных устройств. Кроме того, Redis 8.8 представляет стратегию пакетной предварительной выборки для большего количества операций в сочетании с рядом других тонких настроек производительности для дальнейшего сокращения задержки и повышения пропускной способности.
В настоящее время Redis 8.8, как последняя общедоступная версия проекта с открытым исходным кодом, выпущена в официальном репозитории кода. Пользователи могут напрямую получить исходный код для компиляции или интеграции в существующую инфраструктуру.
На странице выпуска также представлены подробные инструкции по обновлению для этой версии, которые помогут разработчикам, персоналу по эксплуатации и техническому обслуживанию, а также архитекторам оценить преимущества и влияние обновления на совместимость:
https://github.com/redis/redis/releases/tag/8.8.0