Pull to refresh

Redis 2.0

Reading time 2 min
Views 5.8K
3 сентября 2010 незаметно вышел Redis 2.0. Появилось много интересных возможностей. Некоторые из них расширяют границы продвинутого key-value хранилища до организации очередей и не только. Перевод списка новых возможностей с сайта Redis:

Релиз Redis 2.0 является главным этапом в разработке Redis. Отдельно от бесконечного списка новых возможностей, есть несколько главных, которые заслуживают отдельного упоминания.

Стоит упомянуть, что Redis 2.0 только достиг своего первого стабильного релиза, Redis 2.2 близок к замораживанию новых возможностей, поэтому будьте готовы к новым восхитительным штукам уже скоро!

MULTI/EXEC

Семейство MULTI/EXEC команд было добавлено, чтобы заполнить необходимость выполнять несколько команд, как один атомарный блок (от переводчика: в общем-то это аналог транзакций в обычных базах данных). Потому что все команды внутри блока MULTI/EXEC сериализуются и выполняются последовательно, то невозможно, чтобы другой клиентский запрос был выполнен в середине выполнения этого блока. Все команды выполняются одна за другой, когда вызывается EXEC. Это гарантирует, что либо выполняются все команды, либо ни одна, независимо от состояния соединения с клиентом.

Подробнее о MULTI/EXEC:
code.google.com/p/redis/wiki/MultiExecCommand
Заметьте, что WATCH, CAS (check and set) вариант MULTI/EXEC будет доступен в 2.2.0 и не является частью 2.0.0.

Blocking pop

Команды BLPOP и BRPOP были добавлены, чтобы обеспечить выборку из списка с блокировкой. Это означает, что соединение с клиентом будет заблокировано на определенное время пока другой клиент не добавит элемент в список. Эти команды часто используются в сценарии: производитель/потребитель.

Подробнее о blocking pop:
code.google.com/p/redis/wiki/BlpopCommand

Публикация/подписка

Семейство команд публикации/подписки дает клиенту возможность опубликовать сообщения в канал и подписаться, чтобы принимать все сообщения, которые опубликованы в каналах. Так же включает команды, которые позволяют принимать все сообщения для которых канал соответствует заданныму паттерну.

Подробнее о публикации/подписке:
code.google.com/p/redis/wiki/PublishSubscribe
antirez.com/post/redis-weekly-update-3-publish-submit.html
rediscookbook.org/pubsub_for_asynchronous_communication.html

Хэши

Это новый тип данных, который позволяет сохранять несколько ключей/значений в одном ключе. Вместе со списком регулярных команд вы могли бы ожидать для такого типа (HSET, HGET, HDEL, HLEN, HKEYS, ...). Так же возможно использовать значения внутри хэша для любых операций SORT.

Подробнее о хэшах:
code.google.com/p/redis/wiki/HsetCommand
antirez.com/post/redis-weekly-update-1.html

Виртуальная память

Виртуальная память Redis позволяет пользователям вырасти их набору данных за пределы их памяти.

Подробнее о виртуальной памяти:
code.google.com/p/redis/wiki/VirtualMemoryUserGuide
antirez.com/post/redis-virtual-memory-story.html

Оригинал статьи: code.google.com/p/redis/wiki/Redis_2_0_0_Changelog
Tags:
Hubs:
+31
Comments 5
Comments Comments 5

Articles