0Pricing
PHP Academy · Lekcja

Redis jako backend pamięci podręcznej PHP

Połącz PHP z Redisem i buforuj wyniki zapytań oraz obliczone dane

Redis jako backend pamięci podręcznej PHP to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.

Czym jest Redis?

Redis to serwer struktur danych działający w pamięci. Jest najpopularniejszym backendem pamięci podręcznej dla aplikacji PHP ze względu na szybkość, bogaty zestaw typów danych i wbudowaną obsługę TTL.

Instalacja rozszerzenia Redis dla PHP

Należy zainstalować rozszerzenie C phpredis (najszybsze) albo napisaną w czystym PHP bibliotekę predis.

# Predis via Composer:
$ composer require predis/predis

# Or install phpredis extension:
$ pecl install redis

Łączenie z Redisem (Predis)

Należy utworzyć klienta Predis i połączyć go z serwerem Redis.

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

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

Podstawowe operacje na pamięci podręcznej

Należy ustawiać, odczytywać i usuwać wpisy pamięci podręcznej.

<?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");

Wzorce pamięci podręcznej z Redisem

Należy zaimplementować wzorzec cache-aside w 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;
}

Integracja Redisa z Laravel

Konfigurację należy ustawić w .env, a następnie używać fasady Cache — ręczne tworzenie klienta Predis nie jest potrzebne.

# .env
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1

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

Atomowe zwiększanie i zmniejszanie

Należy używać atomowych operacji Redisa dla liczników (na przykład do monitorowania użycia API i ograniczania liczby żądań).

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

Listy Redis jako kolejki

Listy Redis są backendem sterownika kolejek Redis w Laravelu. Zadania są atomowo dodawane do list i z nich pobierane.

Redis Pub/Sub

Redis obsługuje komunikację w modelu publikowanie/subskrypcja na potrzeby funkcji czasu rzeczywistego, takich jak rozgłaszanie zdarzeń do połączonych klientów WebSocket.

Redis Cluster

Na potrzeby wysokiej dostępności i skalowania horyzontalnego Redis Cluster rozdziela dane między wiele węzłów. Laravel obsługuje konfigurację klastra bez dodatkowej implementacji.

Monitorowanie Redisa

Należy użyć redis-cli monitor, aby obserwować polecenia w czasie rzeczywistym, albo Laravel Horizon do monitorowania kolejek. Zużycie pamięci można śledzić za pomocą redis-cli info memory.

Podsumowanie

Redis to preferowany backend pamięci podręcznej dla PHP — szybki, opcjonalnie trwały i oferujący bogaty zestaw struktur danych. W Laravelu należy ustawić CACHE_DRIVER=redis i używać fasady Cache. Bibliotek Predis lub phpredis należy używać bezpośrednio, gdy potrzebna jest szczegółowa kontrola.

Szybki test

Które polecenie Redis ustawia klucz z czasem wygaśnięcia podanym w sekundach?

Często zadawane pytania

Czy lekcja „Redis jako backend pamięci podręcznej PHP” jest bezpłatna?

Tak — pełny tekst „Redis jako backend pamięci podręcznej PHP” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Redis jako backend pamięci podręcznej PHP”?

Połącz PHP z Redisem i buforuj wyniki zapytań oraz obliczone dane Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Redis jako backend pamięci podręcznej PHP”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Dlaczego buforowanie ma znaczenie w PHP
  2. Redis jako backend pamięci podręcznej PHP
  3. Memcached do buforowania sesji i obiektów
  4. Wzorce unieważniania pamięci podręcznej
← Powrót do PHP Academy