Redis
Redis (Remote Dictionary Server) — это структура данных в памяти с открытым исходным кодом, которая используется как база данных, кеш и message broker.
Типы данных Redis
- Strings — простые строки, числа или бинарные данные
- Lists — связанные списки строк
- Sets — неупорядоченные коллекции уникальных строк
- Sorted Sets — упорядоченные множества
- Hashes — карты между строковыми полями и значениями
- Bitmaps — битовые массивы
- Streams — структуры данных для логов
Основные команды Redis
1# Работа со строками
2SET key value
3GET key
4INCR counter
5EXPIRE key 3600
6
7# Работа со списками
8LPUSH mylist "item1"
9RPUSH mylist "item2"
10LRANGE mylist 0 -1
11
12# Работа с множествами
13SADD myset "member1"
14SMEMBERS myset
15SINTER set1 set2
16
17# Работа с хешами
18HSET user:1 name "John" age 30
19HGET user:1 name
20HGETALL user:1
Применения Redis
- Кеширование — ускорение доступа к данным
- Session store — хранение пользовательских сессий
- Pub/Sub — система сообщений в реальном времени
- Leaderboards — рейтинги с sorted sets
- Rate limiting — ограничение частоты запросов
- Real-time analytics — подсчет метрик
Особенности Redis
- In-memory — все данные в оперативной памяти
- Persistence — опциональное сохранение на диск
- Replication — master-slave репликация
- Clustering — горизонтальное масштабирование
- Atomic operations — атомарные операции
Паттерны использования
- Cache-aside — приложение управляет кешем
- Write-through — запись одновременно в кеш и БД
- Write-behind — отложенная запись в БД
- Refresh-ahead — опережающее обновление кеша
FAQ
Можно ли использовать Redis как основную базу данных?
Redis можно использовать как основную БД для определенных случаев, но обычно его применяют как кеш или дополнительное хранилище.