Redis 6 теперь общедоступен с потоковой передачей для ввода-вывода. До сих пор база данных в памяти не поддерживала многопоточный ввод-вывод, поскольку это усложняло бы модель сегментирования Redis, но теперь она доступна в качестве опции и может повысить производительность ввода-вывода Redis в два раза по сравнению с Redis 5.
Redis — это расширенное хранилище ключей с открытым исходным кодом, лицензируемое BSD, где ключи могут содержать строки, хэши, списки, наборы и отсортированные наборы. Его популярность в веб-разработке как хранилище состояний сеанса растет из-за его простоты и поддержки обширной структуры данных.
В новой версии добавлена поддержка списков контроля доступа (ACL), что означает, что пользователям могут быть показаны только те операции, которые подходят для их роли, что не позволяет им выполнять опасные операции. У каждого пользователя может быть определенный набор возможностей, определяющих, какие команды он может запускать и с какими клавишами. Клиенты Redis на Java, Node.js, Python и .NET уже поддерживают ACL, и разработчики планируют добавить поддержку большего количества языков и библиотек теперь, когда Redis 6 стал общедоступным.
Еще одно улучшение безопасности — это возможность шифровать трафик через SSL. До этой версии шифрование в Redis откладывалось вне процесса, поэтому для обеспечения шифрования приходилось использовать другие приложения.
Поддержка потоковой передачи для ввода-вывода означает, что процесс Redis может делегировать время, затрачиваемое на чтение и запись в сокеты ввода-вывода, другим потокам, поэтому выделяет больше циклов на манипулирование, хранение и получение данных для повышения общей производительности.
Также была добавлена поддержка кэширования на стороне клиента, что позволяет хранить подмножество данных в собственном процессе. Разработчики говорят, что эта реализация достаточно умна, чтобы управлять несколькими обновлениями одних и тех же данных и поддерживать ваши данные как можно более синхронизированными.