Co to jest Redis i jak działa? Największe zalety, zastosowania w praktyce, cache i testy wydajności nowoczesnej bazy danych klucz-wartość przyspieszającej strony WWW.
Spis treściZależy Ci na szybko działającej stronie? Przedstawiam Ci jedno z rozwiązań, dzięki któremu będziesz w stanie zrealizować ten cel, a co najmniej – pomoże Ci ono w tej realizacji. Chodzi o Redis, czyli bazę danych typu NoSQL. Co to oznacza? Jakie korzyści wiążą się z zastosowaniem tego rozwiązania, jak z niego skorzystać i czy jest dostępny w ofercie każdego hostingu?
Redis – co to jest?
Redis (Remote Dictionary Server) to nowoczesny magazyn danych, baza NoSQL działająca na zasadzie klucz-wartość. Rozwiązanie jest obecnie bardzo chętnie wybierane przede wszystkim ze względu na jego wydajność. Dane są przechowywane w pamięci RAM, co powoduje, że dostęp do nich jest dużo szybszy. Serwer Redis przynosi profity, jeśli chodzi o cache i przechowywanie sesji użytkowników stron.
Kiedy standardowo internauta odwiedza daną witrynę, to pliki serwisu są pobierane z serwera. Dzięki zastosowaniu Redis te dane nie są pobierane z dysku, lecz z pamięci RAM. Nie są zapisywane na tym nośniku, co powoduje, że dostęp do nich jest wyjątkowo szybki. Redis współpracuje z danymi zapisanymi w pamięci RAM, ale istnieje również możliwość umieszczenia ich na dysku.
Redis może być wykorzystany jako baza danych, pamięć podręczna, ale również jako broker powiadomień. W ostatnich latach to rozwiązanie zaczęło cieszyć się bardzo dużą popularnością, natomiast nie stanowi ono nowości. Projekt został zapoczątkowany w 2009 roku przez włoskiego dewelopera Salvatore Sanfilippo. Co ciekawe, powstał po to, aby poprawić wydajność innego projektu tego specjalisty – LLOOGG, czyli rozwiązania służącego do analityki internetowej. W marcu 2010 roku deweloper został zatrudniony przez VMWare do pracy nad Redisem na pełny etat.
Rozwiązanie stało się popularnym elementem oferty firm hostingowych. Jako że znakomicie sprawdza się do cachowania, właściciele stron widzą dzięki temu efekt w postaci szybciej ładujących się serwisów.
Redis – największe zalety
Rozwiązanie to nieprzypadkowo cieszy się tak dużą popularnością. Do jego największych zalet zalicza się:
- Wydajność – czas odpowiedzi to mikrosekundy. Redis może wykonać nawet miliony żądań na sekundę.
- Elastyczność – ma zastosowanie w przeróżnych zadaniach, takich jak m.in. maszynowe nauczanie, strumieniowanie danych czy ich gromadzenie.
- Prostota kodu – co przekłada się na wydajność, łatwą obsługę i szybki czas wykonania. Obsługuje takie języki jak m.in. PHP, Java, Perl czy Ruby.
Cache z Redis
Jak wspomniałem, jednym z najpopularniejszych zastosowań Redis jest cachowanie, co przekłada się na możliwość wykonania przeróżnych operacji w krótszym czasie. Zaletą korzystania z tego rozwiązania jest również to, że w momencie, kiedy jakieś elementy strony nie działają, cache w Redis może nadal funkcjonować, co oznacza, że wciąż da się korzystać z serwisu.
Tego rozwiązania można używać w towarzystwie przeróżnych systemów CMS, ale potrzebujesz do tego pewnych dodatków/modyfikacji, które dadzą Ci taką możliwość. Na przykład dla systemu WordPress może to być np. LiteSpeed Cache czy też W3 Total Cache. Aby zacząć z niego korzystać, najpierw musisz włączyć obsługę w panelu zarządzania usługą hostingową – najczęściej jest to konieczne.
Następnie znajdź taką pozycję jak ustawienia Redis lub coś podobnego. Zobaczysz tam następujące informacje:
Następnie będziesz musiał je wprowadzić w ustawieniach wtyczki. Jeśli połączenie zakończy się sukcesem, to zobaczysz stosowny komunikat.
Zobacz: Jak włączyć obsługę Redis w WordPressie? i Jak włączyć obsługę Redis w Prestashop?
Redis – testy
Jakich konkretnie efektów możesz się spodziewać po wdrożeniu Redis? Oczywiście wykonano mnóstwo testów, które pokazują, jakie osiąga się wyniki. Na początek ten, który zrealizowała firma Avalon Consulting, w której porównano bazy danych typu NoSQL. Redis osiągnął w nim najlepsze rezultaty.
Kolejny test baz typu NoSQL przeprowadziło cloudtweaks.com. W tym przypadku również to Redis osiągnął najlepsze wyniki – choćby pod względem liczby odpowiedzi na sekundę.
Przejdźmy jeszcze do testów pokazujących, jakie zmiany spowoduje wykorzystanie Redisa dla strony internetowej opartej na systemie WordPress.
Jak widzisz, liczba zapytań do bazy danych zmniejszyła się o 80 proc.! Jeśli tylko na swoim hostingu masz możliwość korzystania z tego rozwiązania, to koniecznie je włącz i przetestuj. Sprawdź, jakie wyniki osiągasz przed oraz po zmianie.
Redis – czy warto?
Redis jest rozwiązaniem, dzięki któremu korzyści mogą odnieść i programiści, i webmasterzy. Jeśli tylko masz możliwość skorzystania z tego rozwiązania, to obowiązkowo je przetestuj – najprawdopodobniej przyniesie Ci to korzyści.