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 можно использовать как основную БД для определенных случаев, но обычно его применяют как кеш или дополнительное хранилище.