Что такое Redis
In-memory хранилище данных
Redis — высокопроизводительное in-memory хранилище данных с открытым исходным кодом, используемое как база данных, кеш и брокер сообщений.
Структуры данных
- Strings — простые строки и числа
- Lists — связанные списки
- Sets — уникальные неупорядоченные элементы
- Sorted Sets — упорядоченные множества с весами
- Hashes — словари ключ-значение
- Streams — потоки событий (event log)
Ключевые возможности
- Скорость: 100,000+ операций в секунду
- Персистентность: RDB snapshots и AOF logs
- Репликация: master-slave, Redis Sentinel
- Кластеризация: Redis Cluster (шардинг)
- Pub/Sub: публикация и подписка на сообщения
- Lua-скрипты: атомарные транзакции
Сценарии использования
- Кеширование — сессии, API-ответы, результаты запросов
- Очереди задач — фоновая обработка, job queues
- Rate Limiting — ограничение запросов API
- Leaderboards — рейтинги и топы
- Real-time аналитика — счётчики, метрики
- Геопозиционирование — поиск по координатам
Команды
- SET/GET — работа со строками
- LPUSH/RPOP — очереди
- SADD/SMEMBERS — множества
- ZADD/ZRANGE — сортированные множества
- HSET/HGET — хеши