Выпуск БД Redis 2.8
Имеется поддержка транзакций, позволяющих выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти. Хранение всех данных в оперативной памяти позволяет добиться значительной производительности: при тестировании Redis на сервере с CPU Xeon X3320 2.5 ГГц удалось обеспечить 100 тысяч операций записи и чтения в секунду.
Для управления данными поддерживаются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.
Ключевые улучшения, добавленные в Redis 2.8:
- Режим частичной ресинхронизации сo slave-серверами (PSYNC), позволяющий избежать передачи полного набора данных от master-сервера к slave-системе после кратковременного прерывания связи;
- Новые команды: SCAN, HSCAN, SSCAN и ZSCAN для перебора элементов в коллекциях, хэшах, множествах и отсортированных множествах. Формат команд: "SCAN cursor [MATCH pattern] [COUNT count]", через параметр MATCH возможна выборка по маске (например, "scan 52 MATCH key:1*");
- Переписана система конфигурации Redis. Добавлена команда "CONFIG REWRITE", позволяющая сохранить в конфигурационном файле изменения, внесённые на лету в процессе использования команды "CONFIG SET";
- Поддержка IPv6;
- Улучшена поддержка скриптинга на стороне сервера. Добавлена команда EVALSHA, аналогичная EVAL за исключением того, что производится выполнение прокэшированных на сервере скриптов по связанному с ними хэшу SHA1 (для помещения скрипта в кэш следует использовать команду SCRIPT LOAD);
- Улучшен алгоритм расчёта времени истечения жизни ключей;
- В режиме обмена сообщениями "публикация/подписка" обеспечена поддержка уведомления о поступлении событий об изменениях в пространстве ключей. Например, можно подписаться на события о выполнении команд с определённым ключом, истечении жизни ключей или выполнении над ключами операции LPUSH;
- Улучшение средств по обеспечению непротиворечивости хранимых данных за счёт возможности приостановить операции записи в случае, если не удалось выявить достаточного числа slave-серверов, укладывающихся в установленные лимиты отзывчивости;
- Полностью переписан код Redis Sentinel, системы для управления, мониторинга и обеспечена отказоустойчивости БД Redis.
Источник: http://www.opennet.ru/opennews/art.shtml?num=38522
|
0 | Tweet | Нравится |
|