Выпуск СУБД Redis 3.2
Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти. Для управления данными предоставляются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.
Ключевые улучшения, добавленные в Redis 3.2:
- GEO API с возможностью индексирования координат по широте и долготе, вычисления расстояния и указания допустимого радиуса вокруг искомой точки при формировании запросов;
- Новая команда BITFIELD, позволяющая использовать строки как битовый массив из набора целых чисел. Числа в массиве можно инкрементировать и декрементировать для использования в качестве счётчиков, настраивать поведение при переполнении;
- Многочисленные улучшения в Redis Cluster, который позволяет развернуть конфигурацию в которой данные автоматически распределяются между несколькими узами Redis. Добавлены средства ребалансировки в redis-trib и улучшена система миграции реплицированных данных. В нестабильной ветке появилась возможность создания узлов за трансляторами адресов и использования средств Docker по перенаправлению портов.
- Реализован альтернативный способ репликации Lua-скриптов - "репликация эффекта от работы скрипта", при котором вместо репликации самого скрипта реплицируется последовательность команд записи, получаемых в результате выполнения скрипта. При данном режиме репликации Redis сохраняет все команды выполняемые движком Lua, которые приводят к изменению данных в БД, и затем повторяет эти команды на slave-серверах;
- Добавлен мощный отладчик скриптов Lua, который можно использовать из redis-cli;
- Увеличена эффективность использования памяти, реализовано новое внутреннее представление списков, значительно экономящих память при хранении больших списков;
- Реализовано согласование времени жизни ключей на первичных и slave-серверах при выполнении операций чтения;
- В команду SPOP добавлена поддержка опционального аргумента со счётчиком;
- В RDB добавлены AUX-поля и увеличена скорость загрузки RDB-файлов;
- Обеспечена возможность использования Sentinel для мониторинга масштабируемости первичных серверов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44383
|
0 | Tweet | Нравится |
|