Redis 7.0 выходит с улучшениями производительности, исправлениями ошибок и многим другим.

Новая версия СУБД Redis 7.0 уже выпущена, Redis предоставляет функции для хранения данных в формате «ключ-значение», расширенные поддержкой форматов структурированных данных, таких как списки, хэши и наборы, а также возможностью запуска драйверов сценариев Lua на стороне сервера.

В отличие от систем хранения в оперативной памяти, таких как Memcached, Redis обеспечивает постоянное хранение данных на диске и обеспечивает безопасность базы данных в случае нештатного завершения работы. Исходные тексты проекта распространяются под лицензией BSD.

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

Основные новые функции Redis 7.0

В этой новой версии СУБД, которая представлена добавлена ​​поддержка серверных функций, в отличие от ранее поддерживаемых скриптов Lua, функции не зависят от приложения и предназначены для реализации дополнительной логики что расширяет возможности сервера.

Функции обрабатываются неразрывно с данными и по отношению к базе данных, а не к приложению, включая репликацию и постоянное хранилище.

Еще одна новинка, которая выделяется в Redis 7.0, — это Второе издание ACL, что позволяет управлять доступом к данным на основе ключей и позволяет определять различные наборы правил доступа для команд с возможностью привязки нескольких селекторов (наборов разрешений) к каждому пользователю. Каждый ключ может быть идентифицирован с определенными разрешениями, например, вы можете ограничить доступ только чтением или записью к определенному подмножеству ключей.

В дополнение к этому отмечается, что Redis 7.0 обеспечивает уна фрагментарная реализация парадигмы распространения сообщений Опубликовать-Подписка, работающий на кластере, где сообщение отправляется на конкретный узел, к которому привязан канал сообщения, после чего это сообщение перенаправляется на остальные узлы, включенные в корпус. Клиенты могут получать сообщения, подписавшись на канал, подключившись как к основному узлу, так и к второстепенным узлам раздела.

Также подчеркивается, что обеспечена возможность обработки нескольких конфигураций одновременно в одном вызове CONFIG SET/GET и что в утилиту redis-cli были добавлены опции «–json», «-2», «–scan», «–functions-rdb».

По умолчанию, доступ к настройкам и командам, влияющим на безопасность, отключен для клиентов (например, отключены команды DEBUG и MODULE, запрещено изменение конфигураций с флагом PROTECTED_CONFIG). Redis-cli перестал отправлять команды, содержащие конфиденциальные данные, в файл истории.

С другой стороны, выделяется, чтоe внесена большая часть оптимизаций, направленных на повышение производительности и уменьшить потребление памяти. Например, потребление памяти значительно снижено при включенном режиме кластера, при выполнении операций копирования при записи и при работе с ключами hash и zset, а также была улучшена логика для сброса данных на диск (называется fsync).

Исправлена ​​уязвимость CVE-2022-24735. в среде выполнения Lua-скриптов, что позволяет вам переопределить собственный Lua-код и заставить его выполняться в контексте другого пользователя, в том числе с более высокими привилегиями.

Кроме того, мы можем указать на уязвимость (CVE-2022-0543) в пакетах с Redis для Ubuntu и Debian (проблема специфична для отдельных сборок и не связана с самим Redis), что позволяет выполнять произвольный код Lua на удаленном сервере и обходить механизм изоляции песочницы среды для запуска скриптов в Redis.

Устранена уязвимость CVE-2022-24736, которая могла привести к сбою процесса сервера Redis из-за разыменования нулевого указателя. Атака осуществляется путем загрузки специально созданных Lua-скриптов.

наконец, если вы интересно узнать о нем больше, Вы можете проверить детали в следующем ссылка.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.