Redis (Remote Dictionary Server) — это NoSQL СУБД, которая хранит все данные в RAM, обеспечивая субмиллисекундное время отклика. В отличие от традиционных систем, Redis поддерживает расширенные структуры данных: hashes, lists, sets и sorted sets с ранжированием по весу.
Принцип работы
Система работает в однопоточном режиме для обработки команд, что исключает накладные расходы на блокировки и переключение контекста. Для обеспечения сохранности данных используются механизмы снимков (RDB) и логирование операций (AOF) на диск, что позволяет восстановить состояние после перезагрузки.
Основные сценарии использования включают кэширование запросов к основным БД, управление сессиями пользователей, реализацию очередей сообщений через Pub/Sub или Streams, а также хранение счетчиков в реальном времени.
- Производительность: до 1 миллиона операций в секунду на одном ядре процессора.
- Команда
SET key valueвыполняется мгновенно, не дожидаясь завершения дискового ввода-вывода. - Поддержка репликации и автоматического переключения ролей через Redis Sentinel.