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 dailyListy 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
- Dlaczego buforowanie ma znaczenie w PHP
- Redis jako backend pamięci podręcznej PHP
- Memcached do buforowania sesji i obiektów
- Wzorce unieważniania pamięci podręcznej