вторник, 4 мая 2010 г.

Redis: First look on key-value storage

Решил посмотреть новую для себя вещь - Redis. Redis - это очень шустрая система для хранения данных в стиле key-value. Ставится она очень просто, на любую Linux систему (возможно есть и Win реализации). Я ставил на виртуальную Ubuntu Server. В комплекте с сервером есть тестовая утилита которая показывает скорость работы , у меня например она выдает 64 тысчи get запросов в секнуду и 56 set, что, по моему, очень не мало.

Клиенты есть под все возможные языки, меня заинтересовал пока только клиент под python. Единственно с чем пришлось повозится так это с тем что последняя версия клиента (1.36) у меня работать отказывалась, но я пока взял 1.34 и она у меня работает (нет нескольких команд - append,substr)

Радует большое число атомарных команд , заточенных специально под конкурентное выполнение. Например, можно одной командой GETSET установить и одновременно вернуть прошлое значение, одной командой SETNX можно установить значение только если его еще нет. Есть поддержка времени жизни ключей, т.е. при добавлении можно указать что ключ живет лишь 100 секунд и через 100 секунд его уже не будет в хранилище.
Есть встроенная поддержка листов и можно легко организовывать стеки, LIFO и FIFO очереди. Есть множества, с возможностью быстрого получения пересечении.
Так же есть возможность построения социальных графов.

В общем очень интересная штука. Осваиваю и думаю куда бы прикрутить. :)

Комментариев нет: