Redis – co to jest?

Redis to baza danych, która trzyma dane w pamięci RAM zamiast na dysku, dzięki czemu odpowiada na zapytania w ułamku milisekundy. Na hostingu najczęściej działa jako pamięć podręczna (cache) dla aplikacji takich jak WordPress, WooCommerce czy Magento: zapamiętuje wyniki ciężkich zapytań do bazy MySQL i podaje je ponownie bez angażowania serwera bazy danych. Dzięki temu gwarantuje krótszy czas ładowania dynamicznych podstron, szybszy panel administracyjny i mniejsze obciążenie bazy danych przy większym ruchu. W tym artykule wyjaśniamy jak działa Redis, do czego się go używa, czym różni się od cache strony i kiedy naprawdę warto go włączyć.

Redis, co to jest i jak działa?

Nazwa Redis to skrót od Remote Dictionary Server. Projekt powstał w 2009 roku i dziś jest jednym z najpopularniejszych narzędzi do przechowywania danych tymczasowych na świecie.

Redis działa w modelu klucz-wartość. Każda informacja jest zapisana pod unikalną nazwą (kluczem), a aplikacja odczytuje ją, podając tę nazwę. Przypomina to szatnię z numerkami: oddajesz płaszcz, dostajesz numerek, a przy wyjściu pracownik od razu wie, gdzie go szukać, bez przeszukiwania całej szatni.

Kluczowa różnica w porównaniu z MySQL to miejsce przechowywania danych. MySQL zapisuje je na dysku i przy każdym zapytaniu musi je odszukać, przefiltrować i złożyć w wynik. Redis trzyma wszystko w pamięci RAM, która jest wielokrotnie szybsza od nawet najszybszego dysku NVMe.

Jakie dane przechowuje Redis?

Redis to nie tylko proste pary „nazwa i tekst”. Obsługuje kilka struktur danych, z których korzystają programiści:

  • ciągi znaków (strings): tekst, liczby, gotowe fragmenty HTML,
  • hasze (hashes): obiekty z polami, na przykład dane użytkownika,
  • listy (lists): kolejki zadań do wykonania,
  • zbiory i zbiory sortowane (sets, sorted sets): unikalne wartości i rankingi,
  • strumienie (streams): dzienniki zdarzeń.

Czy dane w Redis znikają po restarcie?

Nie muszą. Redis potrafi okresowo zapisywać kopię danych na dysk (tryby RDB i AOF), więc po restarcie wczytuje je z powrotem. W zastosowaniu jako cache nie ma to jednak dużego znaczenia: jeśli dane z cache znikną, aplikacja po prostu pobierze je ponownie z bazy MySQL. Pierwsze wyświetlenia strony będą chwilę wolniejsze, ale nic nie zostanie utracone.

Do czego służy Redis?

Na hostingu stron WWW Redis ma kilka typowych zastosowań:

  • Object cache w WordPress: przechowuje wyniki zapytań do bazy danych, opcje, menu i dane wtyczek. To najczęstsze zastosowanie na hostingu współdzielonym.
  • Sesje użytkowników: dane zalogowanych klientów, zawartość koszyka w sklepie internetowym.
  • Kolejki zadań: wysyłka maili, generowanie miniatur, synchronizacja z hurtownią wykonywane w tle.
  • Liczniki i limity: liczba wyświetleń, ograniczanie liczby prób logowania.
  • Cache w innych aplikacjach: Magento, PrestaShop, Laravel, Symfony i wiele innych frameworków ma gotowe sterowniki do Redis.

Największy zysk widać w sklepach WooCommerce i na stronach z zalogowanymi użytkownikami. Tam strony nie mogą być w całości zapisane w cache, więc każde wyświetlenie wymaga wielu zapytań do bazy. Redis skraca czas ich obsługi.

Redis a cache strony, czym się różnią?

To najczęstsze nieporozumienie. Cache strony i cache obiektów działają na różnych poziomach i uzupełniają się, a nie zastępują.

  • Cache strony (page cache), na przykład LiteSpeed Cache, zapisuje gotowy kod HTML całej podstrony. Kolejny odwiedzający dostaje gotowy plik bez uruchamiania PHP i bazy danych. To najszybsza metoda, ale działa tylko dla stron, które wyglądają tak samo dla wszystkich.
  • Cache obiektów (object cache), czyli Redis, zapisuje pojedyncze klocki, z których WordPress składa stronę: wyniki zapytań, ustawienia, listy produktów. Przydaje się tam, gdzie page cache nie może zadziałać: w koszyku, panelu klienta, kokpicie WordPress, wynikach wyszukiwania.

Optymalna konfiguracja dla WordPress to oba mechanizmy jednocześnie: page cache dla zwykłych odwiedzających i Redis dla wszystkiego, co dynamiczne.

Redis, Memcached i MySQL w porównaniu

CechaRedisMemcachedMySQL
Gdzie trzyma daneRAM (opcjonalnie zapis na dysk)wyłącznie RAMdysk
Czas odpowiedziponiżej 1 msponiżej 1 msod kilku do kilkuset ms
Struktury danychwiele (listy, hasze, zbiory, strumienie)tylko proste wartościtabele relacyjne
Trwałość danychopcjonalnabrak, dane giną po restarciepełna
Typowa rola na hostinguobject cache, sesje, kolejkiobject cachegłówna baza danych strony

Czasy odpowiedzi orientacyjne, zależne od konfiguracji serwera i rozmiaru danych.

Redis nie zastępuje MySQL. Strona nadal zapisuje wpisy, zamówienia i klientów w bazie MySQL, a Redis jedynie przyspiesza do nich dostęp. W porównaniu z Memcached wygrywa elastycznością, dlatego większość nowoczesnych wtyczek cache wybiera właśnie Redis.

Kiedy warto włączyć Redis?

Redis daje wyraźny efekt, gdy:

  • prowadzisz sklep WooCommerce lub inny serwis z koszykiem i kontami klientów,
  • panel WordPress działa wolno, mimo że strona dla odwiedzających ładuje się szybko,
  • masz dużo wtyczek, które intensywnie korzystają z bazy danych,
  • strona ma ruch zalogowanych użytkowników: forum, platforma kursów, serwis członkowski.

Mniejszy zysk zobaczysz na prostym blogu lub stronie wizytówce, które i tak w całości obsługuje page cache. Tam Redis nie zaszkodzi, ale różnica może być niezauważalna.

Redis nie naprawi źle napisanej wtyczki ani przeładowanego motywu. Jeśli strona jest wolna przez kilkadziesiąt aktywnych wtyczek lub ciężki page builder, zacznij od porządków, a Redis traktuj jako kolejny krok optymalizacji.

Redis i Valkey, co warto wiedzieć?

W 2024 roku twórcy Redis zmienili licencję projektu na mniej otwartą. W odpowiedzi społeczność, wspierana przez Linux Foundation, utworzyła Valkey, czyli w pełni otwartoźródłową kontynuację Redis. Valkey używa tego samego protokołu i komend, więc wtyczki i aplikacje przygotowane dla Redis działają z nim bez zmian.

Dla właściciela strony nie ma to praktycznego znaczenia. Wtyczka Redis Object Cache w WordPress połączy się zarówno z Redis, jak i z Valkey.

Na hostingu VH.pl każde konto korzysta z własnej, odizolowanej instancji Redis. Dzięki izolacji dane Twojej strony nie mieszają się z danymi innych klientów serwera.

Zasady bezpieczeństwa w Internecie

Zasady bezpieczeństwa w Internecie sprowadzają się do kilku nawyków, które zatrzymują zdecydowaną większość ataków: unikalne hasła,...

Kiedy moje IP może zostać zablokowane?

Blokada IP następuje wtedy, gdy zabezpieczenia serwera uznają ruch z Twojego adresu za podejrzany: najczęściej po serii błędnych haseł, zbyt...

Redis – co to jest?

Redis to baza danych, która trzyma dane w pamięci RAM zamiast na dysku, dzięki czemu odpowiada na zapytania w ułamku milisekundy. Na hostingu...

Kontakt

Jesteśmy do Twojej dyspozycji

Wybierz wygodny dla siebie kanał - odpowiadamy szybko i konkretnie.

LiveChat

Napisz do nas na czacie - odpowiadamy średnio w kilka minut, w godzinach pracy.

Otwórz czat

E-mail

Wolisz mejla? Napisz na bok@vh.pl - odpowiemy konkretnie i z sensem.

bok@vh.pl

Discord ❤

Dołącz do naszej społeczności - nowinki, wsparcie techniczne, promocje i pomocna dłoń innych użytkowników.

Dołącz teraz