Redis & Caching

In-memory хранилище данных для высокой производительности

Redis Cache Demo

0
Cache Hits
~50ms response
0
Cache Misses
~1000ms response
0%
Hit Rate
Performance gain

Cache-Aside

Приложение проверяет кэш. Если данных нет - загружает из БД и сохраняет в кэш

Write-Through

При записи данные сохраняются одновременно в БД и кэш

Что такое Redis?

Redis (Remote Dictionary Server) — это open-source in-memory хранилище данных, используемое как база данных, кэш и message broker.

Поддерживает различные структуры данных: строки, хэши, списки, множества, sorted sets и другие.

Применение

  • Кэширование API ответов
  • Session storage
  • Real-time аналитика
  • Rate limiting

Скорость

Операции выполняются за микросекунды благодаря хранению в RAM

📊

Структуры данных

Strings, Hashes, Lists, Sets, Sorted Sets, Streams и другие

🔄

Persistence

Опциональное сохранение данных на диск через RDB или AOF

Примеры команд Redis

# Работа со строками
SET user:1:name "Hebrew"
GET user:1:name
SETEX session:abc123 3600 "user_data"  # TTL 1 час

# Работа с хэшами
HSET user:1 name "Hebrew" email "hebrew@example.com"
HGET user:1 name
HGETALL user:1

# Работа со списками
LPUSH queue:tasks "task1" "task2"
RPOP queue:tasks

# Работа с множествами
SADD tags:post:1 "docker" "kubernetes" "devops"
SMEMBERS tags:post:1

# Sorted Sets (лидерборд)
ZADD leaderboard 100 "player1" 200 "player2"
ZRANGE leaderboard 0 -1 WITHSCORES

# Pub/Sub
PUBLISH notifications "New message!"
SUBSCRIBE notifications

# Кэширование с TTL
SET cache:api:users:list "[...]" EX 300  # 5 минут