Redis

Redis(рЕдис) - такого слова в английском нет. Есть - REmote DIctionary Server (Удаленный Сервер Словарей).

Redis — это глобальный ассоциативный массив в оперативной памяти сервера, к которому могут одновременно обращаться тысячи разных PHP-запросов от любых пользователей.

Именно в Оперативной памяти! Ни сессии, ни БД не лежат в RAM.

Ставиться на Линукс в 2 обычные команды. Установка и связь с языком, на котором вы программируете.

Для маленьких проектов со 100 посетителями Redis не нужен — с этим справится любая реляционная база. Я бы стал внедрять Redis в двух случаях: во-первых, при росте нагрузки, когда нужно разгрузить MySQL от частых тяжелых запросов, или когда нужно перенести сессии с диска в RAM. Во-вторых, для специфических задач, где важна скорость в реальном времени: счетчики, временные СМС-коды с TTL или Rate Limiter.

TTL - это временная метка записи - по истечении которой - запись автоматически, сама удаляется.

=========

Redis (рЕдис) — такого слова в английском изначально не было. Это аббревиатура от REmote DIctionary Server (Удаленный Сервер Словарей).Redis — это глобальный ассоциативный массив в оперативной памяти (RAM) сервера, к которому могут одновременно обращаться тысячи разных PHP-запросов от любых пользователей. Именно в оперативной памяти! По умолчанию ни файлы сессий PHP, ни классические базы данных (MySQL/PostgreSQL) в RAM не лежат — они работают с жестким диском, что гораздо медленнее.

Ставится на Linux очень просто: одной командой устанавливается сам сервер Redis, а второй — специальный драйвер (расширение) для связи с вашим языком программирования (например, PHP).

Когда Redis нужен? Для маленьких проектов, со 100 посетителями он точно не нужен — с этим справится любая реляционная база. Внедрять Redis стоит в двух случаях:
- При росте нагрузки: когда нужно разгрузить MySQL от частых тяжелых запросов или перенести те самые сессии PHP с медленного диска в быструю RAM.
- Для специфических задач, где важна скорость в реальном времени: счетчики, Rate Limiter (защита от частых запросов) или временные СМС-коды с TTL.

TTL (Time To Live) — это время жизни записи. По истечении этого таймера Redis автоматически удаляет данные сам, освобождая драгоценную оперативную память.

========

<?php
// 1. Подключаем автозагрузчик библиотек Composer
require 'vendor/autoload.php';

try {
// 2. Подключаемся к серверу Redis
// По умолчанию он работает на локальном компьютере (127.0.0.1) и порту 6379
$redis = new Predis\Client([
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
]);

// Определяем ключ и сообщение
$key = 'my_first_key';
$message = 'Здравствуй, мир! Привет из оперативной памяти!';

// 3. ЗАПИСЬ: Сохраняем строку в Redis под нашим мнемоническим ключом
// Данные мгновенно улетают в RAM сервера
$redis->set($key, $message);
echo "[1] Успешно записали данные в Redis под ключом '{$key}'\n";

// 4. СЧИТЫВАНИЕ: Достаем строку обратно по этому же ключу
$result = $redis->get($key);

echo "[2] Считали данные обратно:\n";
echo "--> " . $result . "\n";

} catch (Exception $e) {
// Если сервер Redis не запущен, скрипт не упадет с ошибкой, а вежливо предупредит
echo "Ошибка подключения к Redis: " . $e->getMessage() . "\n";
echo "Подсказка: Проверьте, запустили ли вы Redis в Docker или через systemctl.";
}

Компьютер: