Представлен проект Redis, который продолжает идеи таких проектов, как memcached и memcachedb, и является серверным хранилищем данных вида ключ/значение. Для обеспечения максимальной производительности Redis во время работы хранит все данные в оперативной памяти, периодически сохраняя снимки базы на диск. Архитектура приложения - однопроцессная, основанная на обработке событий, что позволяет избежать блокировок.
По сравнению с memcached, Redis позволяет использовать в качестве значений не только строки, но и списки, множества. Механизмы транзакций отсутствуют, что компенсируется богатым набором атомарных команд: инкремент/декремент, стандартные операции над списками и множествами, переименование ключей, множественная выборка и т.д.
Redis может оказаться хорошим выбором для высоконагруженных сервисов, так как адаптирован под максимальную производительность и поддерживает репликацию, а клиентские библиотеки доступны для большинства популярных языков: Perl, Python, PHP, Java, Ruby, Tcl и других. Заявленные значения производительности составляют 110000 операций записи или 81000 операций выборки в секунду на процессоре Xeon X3320 2.5 ГГц под управлением Linux 2.6. Исходные тексты доступны под лицензией BSD.
|