0Pricing
PHP Academy · Урок

Redis как серверный кэш для PHP

Подключайте PHP к Redis и кэшируйте результаты запросов и вычисленные данные

«Redis как серверный кэш для PHP» — бесплатный урок PHP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Что такое Redis?

Redis — это сервер структур данных, работающий в оперативной памяти. Это самый популярный сервер кэширования для приложений на PHP благодаря высокой скорости, разнообразным типам данных и встроенной поддержке TTL.

Установка расширения Redis для PHP

Установите расширение phpredis на C (самый быстрый вариант) или библиотеку predis, написанную на чистом PHP.

# Predis via Composer:
$ composer require predis/predis

# Or install phpredis extension:
$ pecl install redis

Подключение к Redis с помощью Predis

Создайте клиент Predis и подключитесь к серверу Redis.

<?php
require "vendor/autoload.php";

$redis = new \Predis\Client([
    "scheme" => "tcp",
    "host"   => "127.0.0.1",
    "port"   => 6379,
]);

Основные операции с кэшем

Сохраняйте, получайте и удаляйте записи кэша.

<?php
// Set with TTL (seconds):
$redis->setex("user:42", 300, json_encode($user));

// Get:
$cached = $redis->get("user:42");
$user   = $cached ? json_decode($cached, true) : fetchFromDB(42);

// Delete:
$redis->del("user:42");

Шаблоны кэширования с Redis

Реализуйте стратегию cache-aside в PHP:

<?php
function getUser(int $id): array {
    global $redis;
    $key    = "user:$id";
    $cached = $redis->get($key);
    if ($cached !== null) return json_decode($cached, true);
    $user = fetchUserFromDB($id);
    $redis->setex($key, 3600, json_encode($user));
    return $user;
}

Интеграция Redis с Laravel

Настройте .env и используйте фасад Cache — ручное создание клиента Predis не требуется.

# .env
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1

// Usage:
Cache::put("key", $value, 600);
$value = Cache::get("key");

Атомарное увеличение и уменьшение

Используйте атомарные операции Redis для счётчиков (использование API, ограничение частоты запросов).

<?php
$hits = $redis->incr("page:home:hits");
$redis->expire("page:home:hits", 86400); // reset daily

Списки Redis для очередей

Списки Redis используются как серверная часть драйвера очередей Redis в Laravel. Задания атомарно добавляются в списки и извлекаются из них.

Публикация и подписка в Redis

Redis поддерживает обмен сообщениями по модели публикации и подписки для функций, работающих в реальном времени (трансляция событий подключённым клиентам WebSocket).

Кластер Redis

Для высокой доступности и горизонтального масштабирования Redis Cluster распределяет данные между несколькими узлами. Laravel поддерживает настройку кластера из коробки.

Мониторинг Redis

Используйте redis-cli monitor, чтобы наблюдать за командами в реальном времени, или Laravel Horizon (для мониторинга очередей). Отслеживайте использование памяти с помощью redis-cli info memory.

Итоги

Redis — предпочтительный сервер кэширования для PHP: быстрый, с возможностью сохранения данных и богатым набором структур данных. В Laravel установите CACHE_DRIVER=redis и используйте фасад Cache. Для более точного управления напрямую используйте Predis или phpredis.

Быстрая проверка

Какая команда Redis задаёт ключ со сроком действия в секундах?

Часто задаваемые вопросы

Урок «Redis как серверный кэш для PHP» бесплатный?

Да — полный текст урока «Redis как серверный кэш для PHP» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Redis как серверный кэш для PHP»?

Подключайте PHP к Redis и кэшируйте результаты запросов и вычисленные данные Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Redis как серверный кэш для PHP»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Зачем нужно кэширование в PHP
  2. Redis как серверный кэш для PHP
  3. Memcached для кэширования сессий и объектов
  4. Стратегии аннулирования кэша
← Назад к PHP Academy