Представлен релиз новой стабильной ветки БД Redis 2.4 [3], относящейся к классу NoSQL-систем и развиваемой при содействии компании VMWare. Redis предоставляет похожие на Memcached функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества. В отличие от Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl. Почти сразу после Redis 2.4.0 был выпущен корректирующий релиз 2.4.1 с исправлением нескольких проблем.
Для управления данными поддерживаются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.
Имеется поддержка транзакций, позволяющих выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти. Хранение всех данных в оперативной памяти позволяет добиться значительной производительности: при тестировании Redis на сервере с CPU Xeon X3320 2.5 ГГц удалось обеспечить [4] 110000 операций записи и 81000 операций чтения в секунду.
Ключевые улучшения [5], добавленные [6] в Redis 2.4:
Ссылки:
[1] http://htfl.ru/cat-news-novosti-po
[2] http://htfl.ru/cat-news-obnovlenie-po
[3] /out.php?link=http://redis.io/
[4] /out.php?link=http://redis.io/topics/benchmarks
[5] /out.php?link=https://raw.github.com/antirez/redis/2.4/00-RELEASENOTES
[6] /out.php?link=http://antirez.com/post/everything-about-redis-24
[7] /out.php?link=http://redis.io/commands/object
[8] /out.php?link=http://antirez.com/post/redis-virtual-memory-story.html
[9] /out.php?link=http://blog.lovor.net/redis-24-windows-port-is-ready