Вышла новая версия Radix 1.2.0 на основе Picodata 26.2

Команда разработчиков Picodata рада сообщить о свежем релизе плагина Radix 1.2.0 на основе Picodata 26.2. Главная новинка релиза — поддержка Redis Streams.

В релиз вошли:

  • поддержка стримов (Streams),
  • новые команды SETBIT, GETBIT, DELEX, RENAME, DIGEST,
  • условные флаги IFEQ, IFNE, IFDEQ, IFDNE в SET,
  • агрегат COUNT в ZUNION и ZINTER,
  • поддержка Picodata 26.2,
  • 43 исправления.

Стримы

Добавлена поддержка команд стримов по спецификации Redis 8: XADD, XRANGE, XREVRANGE, XLEN, XDEL, XDELEX, XTRIM, XSETID, XREAD, XREADGROUP с опцией BLOCK, XGROUP, XACK, XACKDEL, XNACK, XPENDING, XCLAIM, XAUTOCLAIM, XINFO, XCFGSET и XIDMPRECORD. Работают группы потребителей и журнал ожидающих сообщений (PEL).

Уведомления по командам и ключам

Добавлена система уведомлений о событиях по командам и ключам. Уведомления включаются параметром radix.notify_keyspace_events (аналог notify-keyspace-events в Redis). События доставляются по pub/sub в каналы __keyspace@<db>__:<ключ> и __keyevent@<db>__:<событие>.

Новые команды и флаги

  • SETBIT и GETBIT — работа с отдельными битами строкового значения
  • DELEX — удаление ключа с условиями
  • RENAME — переименование ключа
  • DIGEST — хеш XXH3 строкового значения
  • условные флаги в SET: запись выполняется при совпадении или несовпадении текущего значения (IFEQ, IFNE) или его хеша (IFDEQ, IFDNE)
  • COUNT — агрегатная функция в ZUNION и ZINTER
  • CLIENT LIST и CLIENT INFO показывают последнюю команду соединения

Исправления

В релиз вошло 43 исправления. Основная часть относится к транзакциям (MULTI, EXEC, WATCH), курсорам SCAN-команд, Lua-скриптам и стабильности плагина. Параллельно разработчики Picodata выпустили LTS-релиз Radix 1.0.9, в который были портированы все исправления из версии 1.2.0.

Документация

В документацию плагина добавлено руководство по развёртыванию Radix в Kubernetes.