Какую проблему решал с помощью Redis

«Какую проблему решал с помощью Redis» — вопрос из категории Базы данных, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Redis часто использую для кеширования результатов тяжёлых запросов к БД или API, чтобы ускорить работу приложения. Например, кеширование списка товаров в интернет-магазине:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

$cacheKey = 'popular_products';
if (!$products = $redis->get($cacheKey)) {
    $products = $db->query('SELECT * FROM products ORDER BY views DESC LIMIT 10')->fetchAll();
    $redis->setex($cacheKey, 3600, serialize($products)); // Кеш на 1 час
} else {
    $products = unserialize($products);
}

Также Redis отлично подходит для:

  • Очередей задач (через LIST)
  • Хранения сессий
  • Реализации блокировок (мьютексы)
  • Счетчиков (INCR/DECR)
  • Pub/Sub для событийной архитектуры

Главные преимущества - скорость работы (in-memory) и богатый набор структур данных.