Przejdź do treści
SparkCore
Baza wiedzy

Pamięć podręczna obiektów Redis w WordPressie: co robi i jak ją skonfigurować

Pamięć podręczna obiektów Redis zachowuje dane bazy danych WordPressa między żądaniami, dzięki czemu panel administracyjny, koszyk i zalogowani użytkownicy rzadziej czekają na bazę danych. Dla anonimowych odwiedzających, którzy i tak dostają stronę z pamięci podręcznej stron, niewiele zmienia. Ten poradnik wyjaśnia, co robi pamięć podręczna obiektów, kiedy sam WordPress ją zaleca, jak skonfigurować Redis, czego możesz używać bez Redis i jak radzi sobie z nią Spark Speed, wtyczka cache, którą tworzymy.
W skrócie
  • Pamięć podręczna obiektów przyspiesza wszystko, co musi przejść przez WordPress: panel administracyjny, koszyk, kasę, zalogowanych użytkowników
  • Obok pamięci podręcznej stron, a nie zamiast niej
  • Sama wtyczka nie wystarczy: twój hosting musi zapewnić serwer Redis
  • Bez Redis alternatywą są Memcached, SQLite lub pliki

Co robi pamięć podręczna obiektów

WordPress przechowuje wyniki zapytań do bazy danych w pamięci podczas żądania. Po zakończeniu żądania wszystko znika. Dokumentacja WordPressa ujmuje to tak: dane nie są trwale przechowywane między ładowaniami stron, chyba że zainstalujesz wtyczkę trwałej pamięci podręcznej. Taka wtyczka umieszcza plik object-cache.php w wp-content i od tej chwili WordPress zachowuje te dane w Redis, Memcached lub innym magazynie, więc kolejne żądanie nie musi pobierać ich ponownie z bazy danych.

Pamięć podręczna obiektów czy stron: co przyspiesza co

Pamięć podręczna stron przechowuje kompletny HTML i podaje go anonimowym odwiedzającym, często zanim WordPress w ogóle wystartuje. Pamięć podręczna obiektów niewiele tu dodaje. Pomaga natomiast we wszystkim, co musi przejść przez WordPress: w panelu administracyjnym, dla zalogowanych użytkowników, w koszyku, kasie i koncie klienta w WooCommerce, w wynikach wyszukiwania i przy odbudowie pamięci podręcznej stron. Uzupełniają się nawzajem; jedna nie zastępuje drugiej.

Czy jej potrzebujesz? Co sam zaleca WordPress

WordPress ma w Kondycji witryny test trwałej pamięci podręcznej obiektów. W kodzie źródłowym WordPressa 7.0.2 test ten zaleca ją dopiero przy multisite albo po przekroczeniu jednego z poniższych progów. Mała strona wizytówkowa z dobrą pamięcią podręczną stron zwykle ich nie przekracza.
  • ponad 500 automatycznie ładowanych opcji albo ponad 100 kB z nich
  • ponad 1000 wpisów, komentarzy, terminów, użytkowników lub opcji
  • progi można zmienić filtrem site_status_persistent_object_cache_thresholds

Konfiguracja Redis za pomocą wtyczki Redis Object Cache

Sama wtyczka nie wystarczy: musi działać serwer Redis, do którego PHP ma dostęp. Na hostingu współdzielonym często go nie ma i nie możesz uruchomić własnego. Zapytaj hosting, czy Redis jest dostępny i pod jakim adresem. W naszym laboratorium nie działał serwer Redis: wtyczka zgłosiła Connection refused i pozostawiła przycisk Enable Object Cache wyłączony. To bezpieczna decyzja wtyczki.
  1. Zapytaj hosting, czy Redis jest dostępny i pod jakim adresem lub gniazdem (socket)
  2. Jeśli Redis nie działa pod 127.0.0.1:6379, ustaw WP_REDIS_HOST i WP_REDIS_PORT (a w razie potrzeby WP_REDIS_PASSWORD) w wp-config.php
  3. Jeśli dzielisz Redis z innymi stronami, nadaj każdej własny WP_REDIS_PREFIX albo własną bazę danych: w przeciwnym razie czyszczenie może objąć całą bazę Redis
  4. Zainstaluj Redis Object Cache, przejdź do Ustawienia, Redis i kliknij Enable Object Cache
  5. Sprawdź poleceniem wp redis status: Status powinien pokazywać Connected
Ustawienia Redis Object Cache z komunikatem Redis is unreachable i wyłączonym przyciskiem Enable Object Cache
Redis Object Cache 3.0.0 w naszym laboratorium bez serwera Redis: Redis Unreachable, więc nie można go włączyć.

Alternatywy: Memcached, APCu, SQLite i pliki

Bez Redis? Są inne magazyny. Memcached działa podobnie i u niektórych hostingów jest w standardowym pakiecie. APCu przechowuje dane w pamięci samego PHP, ale osobno dla każdego procesu PHP, przez co WP-CLI i serwer WWW nie zawsze widzą nawzajem swoje zmiany. SQLite i pliki nie potrzebują osobnego serwera, więc działają także na prostym hostingu.
WtyczkaMagazynAktywne instalacjeOcenaOstatnia aktualizacjaMinimalna wersja PHP
Redis Object CacheWymaga serwera Redis; PhpRedis, Predis lub Relay500 000+4,5 (179)18 wrz 20267.2
Docket CacheZapisuje w plikach PHP, Redis niepotrzebny20 000+4,9 (50)15 paź 20267.2.5
SQLite Object CacheZapisuje w pliku SQLite, Redis niepotrzebny10 000+5,0 (51)17 sie 20265.6

Dane z wordpress.org, pobrane 16 października 2026. Instalacje to zaokrąglone liczby, które pokazuje wordpress.org.

Jak działa pamięć podręczna obiektów w Spark Speed

Spark Speed, wtyczka cache, którą tworzymy, ma własną pamięć podręczną obiektów jako przełącznik na karcie Cache. Czego się spodziewać, według kodu wersji 0.73.2 i naszej dokumentacji:
  • Spark sam wybiera magazyn oferowany przez serwer, w tej kolejności: Redis, Memcached, SQLite i APCu. Ustawiony WP_REDIS_HOST zawsze ma pierwszeństwo.
  • Bez WP_REDIS_HOST Spark próbuje 127.0.0.1:6379, a potem znanych ścieżek gniazd Redis istniejących na serwerze.
  • Jeśli plik object-cache.php innej wtyczki już istnieje, Spark go nie nadpisuje.
  • Jeśli Redis ma ustawioną politykę noeviction, Spark ostrzega: Redis odrzuca wtedy nowe zapisy, gdy pamięć jest pełna, zamiast usuwać stare klucze.
  • Pamięć podręczna stron i pamięć podręczna obiektów mają każda własny przycisk czyszczenia; jedna nie czyści drugiej.
  • Jeśli twój hosting już zapewnia pamięć podręczną obiektów, zostaw przełącznik w Spark wyłączony.

Prawidłowa konfiguracja Redis

Dwa ustawienia decydują, czy Redis dobrze sprawdza się jako pamięć podręczna. Parametrem maxmemory ustawiasz limit pamięci dla Redis. Parametrem maxmemory-policy określasz, co się dzieje po osiągnięciu tego limitu. Dokumentacja Redis nazywa allkeys-lru dobrym ustawieniem domyślnym dla pamięci podręcznej: usuwane są najdawniej używane klucze. Przy noeviction Redis zwraca błąd przy zapisach, gdy jest pełny. Na hostingu współdzielonym lub zarządzanym ustawia to hosting; zapytaj, jeśli masz wątpliwości.

Sprawdzanie i czyszczenie

To, czy WordPress używa trwałej pamięci podręcznej obiektów, zobaczysz w Kondycji witryny i przez WP-CLI. Po zmianie wykonanej bezpośrednio w bazie danych, na przykład imporcie lub zapytaniu SQL, wyczyść pamięć podręczną obiektów, w przeciwnym razie WordPress nadal pokazuje starą wartość.
  • wp cache flush czyści pamięć podręczną obiektów (działa z każdą wtyczką pamięci podręcznej obiektów)
  • wp redis status pokazuje status, klienta i drop-in wtyczki Redis Object Cache
  • wp spark-speed flush-object-cache czyści pamięć podręczną obiektów Spark Speed
  • W samym Redis keyspace_hits i keyspace_misses z INFO stats pokazują, jak często pamięć podręczna trafia
Włączaj tylko jedną pamięć podręczną obiektów naraz. Dwie wtyczki, które obie chcą zarządzać plikiem object-cache.php, przeszkadzają sobie nawzajem.
Spark Speed łączy pamięć podręczną stron i obiektów oraz sam wybiera magazyn, który oferuje twój serwer.

Najczęściej zadawane pytania

Przede wszystkim te części, które nie pochodzą z pamięci podręcznej stron: panel administracyjny, koszyk i kasa, zalogowani użytkownicy oraz wyniki wyszukiwania. Strony, które i tak pochodzą z pamięci podręcznej stron, przyspieszają niewiele.

Oba przechowują dane pamięci podręcznej obiektów w pamięci osobnego serwera. W WordPressie wykonują tę samą pracę; wybór zależy głównie od tego, co oferuje twój hosting.

Tylko jeśli twój hosting oferuje Redis. Na hostingu współdzielonym zwykle nie możesz samodzielnie uruchomić serwera Redis. Bez Redis możesz użyć pamięci podręcznej obiektów opartej na SQLite lub na plikach.

Poleceniem wp cache flush przez WP-CLI albo przyciskiem we wtyczce pamięci podręcznej obiektów. Zrób to po zmianach wykonanych bezpośrednio w bazie danych.