Введение в Redis
Тема дорожной карты · Redis
Redis — это хранилище структур данных в памяти с открытым исходным кодом, широко используемое как распределённый кэш, брокер сообщений и база данных реального времени, обеспечивающее субмиллисекундное время ответа в масштабе. Первоначально созданный Сальваторе Санфилиппо в 2009 году, Redis поддерживает богатый набор типов данных — строки, списки, множества, отсортированные множества, хэши, потоки — и расширяется через модули, входящие в Redis Stack. Как распределённый кэш Redis развёртывается перед реляционными базами данных для поглощения потока чтения и резкого снижения задержки запросов, что делает его одним из наиболее популярных кэширующих слоёв в современных веб-архитектурах. Redis также поддерживает необязательную персистентность через RDB-снимки и AOF-логи, репликацию и высокую доступность через Redis Sentinel или Redis Cluster. Понимание основ Redis — отправная точка для освоения вычислений в памяти и создания быстрых, отказоустойчивых бэкенд-систем.
Как это работает
Введение в Redis — in-memory key-value хранилище с опциональной персистентностью, поддерживающее богатые типы (strings, lists, hashes, sets, sorted sets, streams, geospatial, HyperLogLog, bitmaps). Однопоточный для исполнения команд (кроме I/O threads в 6+) — даёт строгую согласованность на отдельных командах и избегает сложности локов. Команды атомарны; pipeline + MULTI/EXEC батчат. Используется как кеш, очередь, pub/sub брокер, leaderboard, session store, backend для distributed lock.
Когда применять
Redis — когда нужны (а) sub-ms чтения/записи маленьких значений, (б) атомарные счётчики/локи/rate-limit, (в) ephemeral данные (TTL нативно), (г) pub/sub fan-out, (д) leaderboard через sorted sets. Не используйте Redis как primary durable store для важных данных — RAM конечен, persistence с оговорками; PostgreSQL — durable, Redis — быстр. Valkey (форк Redis) — где лицензия Redis беспокоит.
Типичные ошибки
Ловушки Введение в Redis: хранение огромных блобов в Redis (RAM-bloat — используйте object storage); Redis как единственная копия важного state (крэш без persistence = полная потеря); пароли в Redis без TLS или auth (requirepass); не выставлен maxmemory + eviction policy (OOM убивает процесс). Опасные команды (FLUSHALL, KEYS, DEBUG) — переименовать или отключить в production.
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…