Dlaczego warto korzystać z pamięci podręcznej?

Wszystko jest proste. Pobieranie wcześniej zapisanych informacji jest znacznie szybsze (10 razy lub więcej) niż ich początkowa generacja. Jeśli chcesz radykalnego przykładu, książka to długoletnia pamięć podręczna wiedzy jej autorów. Gromadzenie tej wiedzy może trwać latami, a odczytanie tej pamięci podręcznej jest znacznie szybsze.

Wróćmy jednak do Joomla, a dokładniej tutaj mamy do czynienia z buforowaniem aplikacji webowych – tworzeniem tymczasowych kopii statycznych strony dynamiczne(lub mniejsze jednostki informacji). Buforowanie jest nieodłącznie związane z aplikacjami internetowymi, ponieważ typowa witryna wyświetla w kółko tę samą treść, a bez pamięci podręcznej wszystko musiałoby być odtwarzane po każdym wyświetleniu strony. System buforowania tymczasowo przechowuje informacje wygenerowane przez kod w obiekcie pamięci podręcznej i zwraca je, gdy zażąda tego następny użytkownik.

Typy pamięci podręcznej w Joomla

Pamięć podręczna strony

Robić zdjęcia cała strona, w tym wszystko: komponenty, moduły, wtyczki i szablon. Jest to najszybsze, ale najmniej elastyczne podejście do buforowania. Aby go aktywować, musisz włączyć wtyczkę „System - Cache”.

Progresywna pamięć podręczna

Ten typ pamięci podręcznej został wprowadzony w Joomla 1.6. Wykonuje migawki każdego unikalnego zestawu modułów (zwykle każdej strony). Wpływa na wszystkie moduły i działa jako warstwa nad pamięcią podręczną modułów, nadpisując ich ustawienia. Pokazuje treść indywidualnie dla każdego odwiedzającego. Włączone, gdy poziom pamięci podręcznej jest ustawiony na „Progresywny” w ogólnych ustawieniach witryny.

Standardowa pamięć podręczna (konserwatywna pamięć podręczna)

Jeśli potrzebujesz dokładniejszej kontroli nad każdą pamięcią podręczną każdego modułu z osobna, użyj standardowego poziomu pamięci podręcznej. Kolejną różnicą w stosunku do progresywnej pamięci podręcznej jest to, że wyświetla tę samą zawartość pamięci podręcznej wszystkim odwiedzającym witrynę.

Pamięć podręczna widoków modułów i komponentów

Tworzą rodzaj grupy, ponieważ oba tworzą statyczną kopię pełnego wyniku komponentu lub modułu. Jest to najpopularniejszy typ pamięci podręcznej i jest czasami utożsamiany z buforowaniem w Joomla.

Jego pozytywną stroną jest to, że radzi sobie dobrze pod względem szybkości. A negatywną stroną jest to, że wyłącza jakąkolwiek interakcję z użytkownikiem<->rozbudowa<->framework do czasu wygaśnięcia buforowanej kopii. Oznacza to, że nie jest odpowiedni dla komponentów lub modułów, które reagują na działania użytkownika lub wyświetlają zawartość, która często się zmienia.

Ponieważ zbuforowana kopia modułu lub komponentu zawiera tylko własne dane wyjściowe, żaden zewnętrzny plik wywoływany przy użyciu metod takich jak $document->addStyleSheet() nie zostanie uwzględniony. Opracowano różne obejścia, ale wszystkie wymagają dodatkowych zasobów obliczeniowych, co zmniejsza efekt korzystania z pamięci podręcznej.

Buforowanie widoku komponentów

Widok komponentu jest buforowany przy użyciu metody display($cachable, $safeurlparams) kontrolera. Aby to zrobić, parametr $cachebale musi być ustawiony na true , a tablica parametrów URL i ich typów filtrów musi zostać przekazana przez parametr $urlparams:

$cachowalny = prawda; $safeurlparams = array("catid" => "INT", "id" => "INT", "cid" => "ARRAY", "limit" => "UINT", "limitstart" => "UINT", "filter_order" => "CMD", "filter_order_Dir" => "CMD", "filter-search" => "STRING", "lang" => "CMD", "Itemid" => "INT"); parent::display($cachowalny, $safeurlparams);

W takim przypadku tablica parametrów adresu URL tworzy unikalny identyfikator pamięci podręcznej.

Tryby pamięci podręcznej modułów

Jest 5 różne tryby buforowanie modułu. Trzy z nich są aktywowane poprzez pole cachemode w pliku XML manifestu modułu:

  • static - jeden plik pamięci podręcznej zostanie użyty dla wszystkich stron o tych samych parametrach modułu. Zalecany do modułów, które się nie zmieniają.
  • itemid - zmienia się przy zmianie Itemid. Ten tryb jest najbardziej odpowiedni dla modułów dynamicznych, które zmieniają się ze strony na stronę, takich jak menu, obrazy treści itp.
  • oldstatic - wstecznie kompatybilny z trybem Joomla 1.5.

Dwa kolejne tryby buforowania muszą być wywołane bezpośrednio z modułu:

  • safeuri — identyfikator pamięci podręcznej jest generowany z tablicy parametrów adresu URL, podobnie jak w komponencie. Użyj tego trybu, jeśli moduł zależy od parametrów adresu URL, a nie Itemid (na przykład moduł wyświetlający obraz w zależności od kategorii). Właściwość $cacheparams->modeparams jest tablicą parametrów URL i ich typów filtrów.
  • Id - moduł ustawia własną pamięć podręczną w zależności od własnej formuły, która jest przekazywana przez $cacheparams->modeparams

Aby użyć tych dwóch trybów, zamiast pola cachemode użyj pola owncache w pliku XML manifestu:

Właściwości obiektu przekazywane do metody moduleCache() nie wymagają wyjaśnień. Przykładem jest moduł powiązanych elementów (mod_related_items), który używa trybu safeuri i zastępuje niebuforowaną funkcję modRelatedItemsHelper::getList($params):

$cacheparams = nowa klasa standardowa; $cacheparams->cachemode = "safeuri"; $cacheparams->class = "ModRelatedItemsHelper"; $cacheparams->metoda = "getList"; $cacheparams->methodparams = $params; $cacheparams->modeparams = array("id" => "int", "Itemid" => "int"); $list = JModuleHelper::moduleCache($moduł, $parametry, $parametry podręczne);

Pamięć podręczna wywołań zwrotnych

Ten typ pamięci podręcznej umożliwia rozróżnianie i buforowanie różnych części rozszerzenia tylko dla tych, które wymagają buforowania, pozostawiając części dynamiczne bez pamięci podręcznej. Buforuje wyniki wywołania funkcji w kodzie.

Pamięć podręczna wyjścia

Buforuje dane wyjściowe jakiejś części skryptu. Jest to głównie buforowanie wyjścia z buforowaniem i jest używane dość rzadko.

Surowa pamięć podręczna

Buforuje dowolne elementy danych. Całkowicie kontrolowany przez programistę - co zapisać, kiedy zapisać i jak sklasyfikować zapisane elementy (identyfikator pamięci podręcznej). Ten typ pamięci podręcznej jest często używany przez rdzeń Joomla do różnych operacji: listy komponentów, listy modułów, drzewa menu, dostępnych języków, grup użytkowników itp.

Obejścia

Obejścia pozwalają obejść znane ograniczenia pamięci podręcznej, takie jak niemożność dołączenia plików stylów lub skryptów JavaScript z modułu lub składnika. Podczas korzystania z pamięci podręcznej widoku komponentów i pamięci podręcznej oddzwonić, możesz włączyć lub wyłączyć niektóre obejścia. Powinny być używane tylko wtedy, gdy funkcja buforowana manipuluje nagłówkiem lub ścieżką.

ustaw obejścia

Metoda JCache::setWorkarounds($data,$options=array()) przygotowuje dane do buforowania wraz z obejściami i akceptuje następujące opcje:

  • nopathway - nie zapisuj danych ścieżki
  • nohead - nie zapisuj danych nagłówka
  • nomodules - nie zapisuj danych modułu
  • modulemode - jeśli nohead wynosi 0, nie przechowuj następujących danych modułu: title , description , link , metaTags

getObejścia

Metoda JCache::getWorkarounds($data,$options=array()) stosuje obejścia do danych zapisanych za pomocą obejścia. Odtwarza nagłówek, ścieżkę i moduły oraz zwraca główne zapisane dane. Działa automatycznie - konkretne obejście jest wykonywane tylko wtedy, gdy jego dane zostały zapisane osobno.

Różnica między używaniem pamięci podręcznej wywołań zwrotnych a surowej pamięci podręcznej

Pamięć podręczna widoków jest zwykle wystarczająca podczas tworzenia komponentu, szczególnie w przypadku prostych komponentów. Ale jeśli komponent tworzy zawartość w locie, najlepiej wybrać inny typ pamięci podręcznej. W takiej sytuacji przydatna byłaby pamięć podręczna wywołań zwrotnych lub surowa pamięć podręczna.

Pamięć podręczna wywołań zwrotnych funkcji zwróci dokładnie ten sam wynik, co funkcja niebuforowana, tylko ten wynik zostanie zbuforowany. Funkcja zostanie wywołana bezpośrednio tylko przy pierwszym wywołaniu.

Buforowanie wywołujemy za pomocą JFactory::getCache() , a jeśli korzystamy z bufora wywołań zwrotnych, nasz kod powinien wyglądać tak:

$cache = JFactory::getCache("jakaśgrupa"); $result = $cache->get(array("jakasklasa", "jakasmetoda"), $methodparams, $id, $workarounds, $workaroundoptions);

Ostatnie trzy parametry w metodzie get() są opcjonalne.

Zauważ, że nie jest to ta sama metoda get(), której używamy w surowej pamięci podręcznej. Pamięć podręczna wywołań zwrotnych automatycznie pobiera dane, jeśli istnieje. Jeśli ich nie ma, wykonuje wywołanie zwrotne, zwraca dane z wywołania zwrotnego i przechowuje je do następnego wywołania. Pamięć podręczna wywołań zwrotnych nie posiada metody store()!

Korzystając z surowej pamięci podręcznej, programista ma bezpośredni dostęp do zdobądź metody() i store() , a za logikę odpowiada deweloper. Ta pamięć podręczna jest przydatna, gdy trzeba zapisać informacje, ale nie wywołanie funkcji (na przykład: dane XML, zdjęcia, opisy produktów itp.) lub gdy trzeba przenieść dużą ilość danych z jednej strony na drugą.

Poniżej znajduje się kod do korzystania z surowej pamięci podręcznej:

$cache = JFactory::getCache("jakaśgrupa", ""); if (!$somevariable = $cache->get("cacheId")) ( // wykonaj akcje i zapisz wynik w $somevariable // przechowuj $somevariable w pamięci podręcznej $cache->store($somevariable, "cacheId") ; )

Aby użyć surowej pamięci podręcznej, musimy przekazać pusty ciąg jako drugi parametr do metody getCache().

Co się stanie, jeśli kilka pamięci podręcznych będzie działać w tym samym czasie?

Typy pamięci podręcznej działają jako nieprzezroczyste warstwy jedna na drugiej (z wyjątkiem pamięci podręcznej modułu/widoku, która działa równolegle). Aby to zrozumieć, musimy sobie wyobrazić, że patrzymy na stronę internetową z góry, gdzie pamięć podręczna strony reprezentuje najwyższy poziom, a wywołania zwrotne, wyjścia i surowe pamięci podręczne reprezentują najniższy poziom. Okazuje się, że górne poziomy nakładają się na dolne i np. podczas korzystania z cache strony, reszta cache przestaje działać.

Ale jest wyjątek, gdy używamy różnych czasów dla różne rodzaje Pamięć podręczna. Na przykład możemy buforować strony przez krótki czas, a obrazy buforować przez długi czas. W takim przypadku podczas renderowania strony obraz zostanie pobrany z pamięci podręcznej.

Programy obsługi pamięci podręcznej

Obsługa pamięci podręcznej to robotnicy. To oni wykonują całą ciężką pracę i zapisują informacje na wybranych nośnikach. Aby korzystać z pamięci podręcznej, musi być dostępny co najmniej jeden program obsługi pamięci podręcznej.

JotCache to darmowy składnik buforowanie Joomla, co może przyspieszyć działanie strony i zmniejszyć obciążenie serwera. W poprzednim artykule „Przegląd JotCache. Buforowanie Joomla 3 »przejrzeliśmy główne cechy rozszerzenia, ogólny „algorytm” jego konfiguracji, zapoznaliśmy się z testami i wynikami witryny z / bez JotCache i rozpoczęliśmy bardziej szczegółowy przegląd jego interfejsu. W tym artykule omówimy wykluczenia „elementów” witryny z buforowania oraz ustawienia wtyczki pamięci podręcznej Joomla.

Joomla 3.6 ma kilka ulepszeń w zakresie systemu pamięci podręcznej: jednoprzyciskowe opróżnianie pamięci podręcznej Joomla i obsługa buforowania wstecznego. Ale nawet mając to na uwadze, JotCache ma znacznie więcej funkcji, szczególnie w zakresie strojenie oraz rozwiązywanie problemów z buforowaniem stron dynamicznych i elementów witryny.

Wyklucz adres URL

W rozdziale Wyklucz adres URL(zdjęcie poniżej) JotCache umożliwia włączenie lub wyłączenie buforowania stron utworzonych przez określone komponenty. Należy pamiętać, że w ustawieniach wtyczki systemowej JotCache ustawiasz do czego służy ta sekcja - ma być uwzględniona w buforowaniu lub wykluczona z niego (zakładka Wtyczka, opcja Sekcja buforowania adresów URL). W związku z tym ustawieniem sekcja może nosić nazwę Dołącz adres URL. Wtedy wszystkie określone w nim reguły będą oznaczać, że te strony muszą być uwzględnione w pamięci podręcznej Joomla. W przyszłości, gdy napiszę „wyklucz”, zrozumiałe jest, że można go uwzględnić, w zależności od ustawień wtyczki.

Nie trzeba wykluczać buforowania całego komponentu. W moim przykładzie komentarze Ccomment Pro i komponent SEF sh404SEF są całkowicie wyłączone z pamięci podręcznej AJAX. Ccomment Pro wykluczony ze względu na problem z duplikacją stron, ale sh404SEF wykluczony ze względu na to, że przy pierwszym żądaniu nieistniejącej strony serwer zwracał odpowiedź 404, a przy kolejnych żądaniach tej nieistniejącej strony - 200, ponieważ strona z niewłaściwym adresem URL dostała się do pamięci podręcznej Joomla.

Możesz wykluczyć z buforowania nie wszystkie strony komponentu, ale jego poszczególne strony, których adres URL zawiera określone żądania. Na przykład zostało to zrobione dla buforowania JoomShopping 4 (rysunek poniżej). Aby to zrobić, w kolumnie Przeglądanie wyjątków i opcji zapytań naprzeciwko dodano parametry zapytania "jshopping" oddzielone przecinkami: "controller=koszyk,controller=user,controller=checkout,controller=lista życzeń,controller=search" (bez cudzysłowów). Dodatkowo wyklucz pozycję szablonu, w której umieszczony jest wózek.


Aby poprawnie buforować VirtueMart 3, musisz ustawić "koszyk, użytkownik, zamówienia, pytanie, faktura, odpowiedź wtyczki, stan" jako wyjątki. Dodatkowo wyklucz pozycję szablonu, w której umieszczony jest wózek.

Parametry zapytania można wyświetlić w adresie URL strony, na której występuje problem z pamięcią podręczną. Jeśli masz włączoną obsługę CNC lub wyłącz je, aby wyświetlić adresy URL inne niż CNC lub na karcie Recenzja w JotCache kliknij ikonę oka obok strony "problem".

Na stronie 404 i przykładzie sh404SEF ustawienie wyjątków parametru zapytania na „error404” jest wystarczające.

Wyklucz pozycję

Jeśli Twoja witryna korzysta z modułów, których zawartość jest krytyczna dla buforowania, na przykład modułu wymiany walut dla sklepów internetowych, to w ta sekcja(Rysunek poniżej) możesz wykluczyć z buforowania pozycję szablonu, w którym znajduje się podobny moduł.

Całe omówione do tej pory buforowanie to buforowanie po stronie serwera. Znacznie zwiększa prędkość pobierania i zmniejsza obciążenie serwera (poprzez skrócenie czasu generowania strony).

Ale buforowanie w przeglądarce po stronie klienta może znacznie zwiększyć szybkość dostępu użytkownika do strony i bez ładowania witryny. Strony buforowane w przeglądarce nie są ładowane z serwera witryny. Taka pamięć podręczna jest akceptowalna tylko w przypadku bardzo statycznych stron. Na przykład informacje o firmie, warunki płatności i dostawy itd. Najważniejsze jest to, że po odwiedzeniu takiej strony przeglądarka użytkownika nie będzie kontaktować się z serwerem witryny, aby otrzymać tę stronę przez cały czas życia pamięci podręcznej przeglądarki, którą ustawiłeś w ustawieniach JotCache na zakładce Podstawowy. Jest wyjątek - użytkownik wyczyścił pamięć podręczną przeglądarki lub wymusił odświeżenie strony.

Aby ta opcja działała w ustawieniach wtyczki JotCache na zakładce opcja musi być włączona Buforowanie przeglądarki (zobacz wyskakujące okienko!).

Biorąc pod uwagę, że w rzeczywistości bardzo niewiele stron witryn może być buforowanych w przeglądarce, w JotCache działa następująca zasada: nie buforuj stron w przeglądarce, jeśli ich adres lub część adresu nie jest określona w sekcji Włącz pamięć podręczną przeglądarki(zdjęcie poniżej).


Wtyczka buforująca JotCache

Większość ustawień jest gromadzona we wtyczce systemowej JotCache. Ustawienia podzielone są na pięć zakładek.

  1. Podłącz.
  2. Opis. Na stronie dewelopera znajduje się krótki opis tekstowy JotCache oraz link do systemu pomocy (on język angielski).
  3. Tryby pamięci podręcznej.

Przyjrzyjmy się tym zakładkom bardziej szczegółowo. Rozważmy tylko te opcje, które moim zdaniem przydadzą się większości webmasterów. Przypomnę, że opcje są wyposażone w podpowiedzi w języku rosyjskim i dostępna jest dla nich rozszerzona dokumentacja w języku angielskim.

podłącz

Na tej zakładce (obrazek poniżej) możesz ustawić czas życia pamięci podręcznej serwera (opcja Czas buforowania), aktywuj pamięć podręczną przeglądarki Joomla (opcja Żywotność pamięci podręcznej przeglądarki) i włącz automatyczne czyszczenie pamięci podręcznej.

JotCache umożliwia korzystanie różne tryby jak działa pamięć podręczna Joomla w zależności od przeglądarki/urządzenia (rysunek poniżej). Może to być przydatne do rozwiązywania konfliktów w wyświetlaniu witryny. Zwłaszcza w przypadku Internet Explorera.

  • Wyjątek. Witryna załaduje się bez użycia pamięci podręcznej.
  • Ogólny. Zawartość strony dla tego typu przeglądarki jest przechowywana w jednym udostępniona pamięć podręczna.
  • Indywidualny. Zawartość strony jest przechowywana we własnej dedykowanej pamięci podręcznej.

Na szczególną uwagę zasługuje opcja Wyklucz boty. Aktywując go, wymuszasz zwrot Wyszukiwarki strony witryny bez korzystania z pamięci podręcznej. Pomogło mi to pozbyć się problemów z duplikowaniem treści stron, które mają komentarze AJAX. Jeśli roboty wyszukiwania nie powodują namacalnego obciążenia Twojej witryny, to moim zdaniem lepiej dać im jak najbardziej „świeże” treści nie z pamięci podręcznej.

JotCache umożliwia przechowywanie plików pamięci podręcznej zarówno bezpośrednio na dysku twardym lub dysku SSD Twojego hostingu - "Plik", jak i w pamięć o dostępie swobodnym serwery - "Memcache" lub "Memcached" (obrazek poniżej). Aby móc korzystać z „Memcache” lub „Memcached”, musisz mieć taką możliwość na swoim serwerze/hostingu. Jeśli masz VPS lub serwer dedykowany, możesz zainstalować i skonfigurować żądany moduł.

Jeśli hostujesz na dyskach SSD, nie sądzę, że zobaczysz dużą różnicę między buforowaniem plików a Memcache lub Memcached. Ale dla właścicieli hostingu na zwykłe dyski mogą występować pozytywne różnice.

Kiedy testowałem buforowanie "Memcached", nie w Joomla 3.5.1 i nie z JotCache, ale ze standardową pamięcią podręczną Joomla, nie zauważyłem żadnej poprawy szybkości ani zmniejszenia obciążenia. Wręcz przeciwnie, prędkość spadła. Zwiększyła się ilość zużytej pamięci (RAM) i wzrosło obciążenie procesora. Stało się to w wyniku wprowadzenia nowego procesu „Memcached”. Na początku zasugerowałem, że być może po prostu nie konfigurowałem modułu Memcached na samym serwerze. Albo mój VPS (procesor 2x2,8 GHz, 1024 MB RAM, SSD) to za mało, aby zobaczyć wynik pozytywny. Ponadto obciążenie serwera/witryny nie jest bardzo duże, a przechowywanie pamięci podręcznej w pliku na dysku SSD jest już dobre (w porównaniu do „zwykłych” dysków twardych). Jakiś czas później w artykule „Memcached i PHP, program edukacyjny” znalazłem wyjaśnienie: „… warto korzystać z cachowania tylko na mocno obciążonych zasobach. W końcu za każdym razem, gdy łączysz się z serwerem Memcached, tracisz cenny czas, co najprawdopodobniej nie będzie uzasadnione. … Nie zapomnij też o wykorzystaniu pamięci! Pamiętaj, że umieszczając 300 megabajtów w pamięci podręcznej, zabrałeś sobie 300 megabajtów pamięci RAM ... ”


Na karcie (zdjęcie poniżej) możesz włączyć pamięć podręczną przeglądarki Joomla (opcja o tej samej nazwie).

Buforowanie przeglądarki (patrz wyskakujące okienko!). Jeśli ta opcja jest ustawiona TAk, JotCache użyje mechanizmu przechowywania pamięci podręcznej przeglądarki. Używaj bardzo ostrożnie. W komponencie JotCache na stronie Żywotność pamięci podręcznej przeglądarki, Możesz określić, które strony witryny mają być buforowane w przeglądarce. Wybrane strony są buforowane w przeglądarce użytkownika bez ponownego ładowania z serwera witryny na czas wygaśnięcia pamięci podręcznej przeglądarki. Ten czas wygaśnięcia można ustawić osobno dla każdego podanego adresu URL. Domyślny czas ważności pamięci podręcznej można ustawić w ustawieniach komponentu.

Wyczyść edytowane strony. Wybierz TAk aby automatycznie usuwać edytowane strony z pamięci podręcznej. Użytkownicy, którzy edytują treść z przodu witryny, muszą mieć co najmniej uprawnienia do tworzenia.

Wyklucz adresy URL zawierające zapytanie. Wszystkie strony zawierające zapytanie w adresie URL (część adresu URL po znaku „?”) zostaną wykluczone z pamięci podręcznej. Włącz tę opcję tylko wtedy, gdy opcja Włącz SEF (CNC) w ogólnych ustawieniach Joomla jest ustawiona TAk.

Integracja JS i CSS. Umożliwia skonfigurowanie integracji JotCache z komponentami optymalizacji szybkości witryny JCH Optimize , Rokbooster lub Scriptmerge, aby poprawnie buforować zoptymalizowane strony i czyścić ich pamięć podręczną.

Jeśli zdecydujesz się zainstalować jeden z wymienionych komponentów optymalizacji szybkości ładowania strony, najpierw wyłącz buforowanie, skonfiguruj komponent optymalizacji, sprawdź wszystko. Jeśli jesteś zadowolony z wyniku, włącz buforowanie. Integracja pozwala się pozbyć możliwe problemy zgodność.

Jak widać JotCache, w przeciwieństwie do system standardowy buforowanie, pozwala bardzo precyzyjnie dostroić pamięć podręczną Joomla, osiągając wzrost wydajności, zmniejszając obciążenie serwera i zachowując funkcjonalność i wygląd zewnętrzny strona. Zwracam uwagę, że w przypadku projektów wykorzystujących dużą ilość treści dynamicznych proces konfiguracji może być trudny, zajmie dużo czasu i dokładne przestudiowanie dokumentacji. Przy bardziej dynamicznej zawartości witryny efekt buforowania jest mniej zauważalny.

  • Oficjalna strona dewelopera (w języku angielskim).
  • Dokumentacja (w języku angielskim).

Z powyższego rozumiemy, że włączenie buforowania pomaga w przyspieszeniu Joomla. A co, jeśli regularnie dodajemy materiały do ​​serwisu, ale nikt nie widzi zmian i dodawania nowych artykułów, bo wszystkie strony są pobierane z cache? Istnieją dwa rozwiązania tego problemu:

1. Możesz ręcznie usunąć pamięć podręczną ze swojej witryny po każdej aktualizacji. Aby to zrobić, przejdź do panelu administracyjnego swojej witryny i znajdź kartę narzędzi w prawym górnym rogu i kliknij „Wyczyść pamięć podręczną”:

Teraz wybierz wszystkie elementy, których pamięć podręczną chcesz wyczyścić, i kliknij „Usuń” w prawym górnym rogu:

Ponadto pożądane jest również usunięcie „Przestarzałej pamięci podręcznej”, aby usunąć te wpisy, które nie są już istotne. Aby to zrobić, przejdź do "Narzędzia">>"Usuń przestarzałą pamięć podręczną" iw oknie, które otworzy się po prawej stronie, kliknij przycisk "Usuń przestarzałą pamięć podręczną":

2. Drugi sposób jest wygodniejszy i rozsądniejszy. W ustawieniach ogólnych sam włączasz buforowanie i ustawiasz czas życia pamięci podręcznej w minutach. Czas życia pamięci podręcznej należy ustawić w zależności od częstotliwości zmian w witrynie (na przykład dodawanie artykułów itp.). Jeśli piszesz jeden artykuł dziennie, czas życia można ustawić na 1440 minut (24 godziny). Po tym czasie pamięć podręczna zostanie samoczynnie usunięta, a wszystkie dodane artykuły staną się widoczne dla użytkowników. Aby włączyć cache wejdź w "Serwis">>"Ustawienia ogólne">>"System" i tam po prawej stronie ekranu znajdź "Ustawienia pamięci podręcznej":

Automatyczny wyczyść pamięć podręczną joomla znacznie uprości Twoje życie i pomoże uniknąć niepotrzebnych rozmów z Twoim serwerem o dużym obciążeniu.

Buforowanie modułów Joomla

Twoja witryna może mieć zainstalowane moduły, których buforowanie nie byłoby pożądane, na przykład moduł „Najczęściej czytane”. W końcu informacje w tym module mogą się zmieniać znacznie częściej niż dodawane są nowe artykuły, więc musimy wyłączyć buforowanie w tym module. W tym celu przejdź do panelu administracyjnego swojej witryny, przejdź do "rozszerzeń">> "menedżer modułów", wybierz żądany moduł i przejdź do jego ustawień. Po prawej stronie szukamy zakładki „Opcje zaawansowane” i wyłączamy w niej buforowanie lub ustawiamy krótszy czas życia pamięci podręcznej dla częstszych aktualizacji informacji w tym module.

W tym artykule przyjrzymy się „ Ustawienia pamięci podręcznej" w "Ustawieniach ogólnych" panelu administracyjnego Joomla 3, które znajdują się na patka « System» . Te ustawienia umożliwiają zapisywanie stron witryny raz żądanych przez użytkowników i natychmiastowe ich udostępnianie z pliku, zamiast za każdym razem wysyłać żądania do bazy danych. To znacznie zmniejsza obciążenie serwera i pozwala na szybkie udostępnianie treści użytkownikom. Prawidłowo skonfigurowana pamięć podręczna to gwarancja szybka praca witryna i jedno z narzędzi do promocji witryny pod kątem SEO w najpopularniejszych zapytaniach.

Aby zrozumieć, jak wyglądają „Ustawienia pamięci podręcznej” w panelu administracyjnym Joomla, spójrzmy na poniższy obrazek:

„Ustawienia pamięci podręcznej” w panelu administracyjnym Joomla 3

„Ustawienia pamięci podręcznej” w panelu administracyjnym Joomla składa się z kilku pól, których wartości można skonfigurować:

  • Pole " obsługa pamięci podręcznej» — Wybierz metodę buforowania. Standardowy mechanizm buforowania jest oparty na plikach. Upewnij się, że katalogi plików pamięci podręcznej są zapisywalne.
  • Pole " Ścieżka do katalogu pamięci podręcznej» — Określ folder do przechowywania plików pamięci podręcznej.
  • Pole " Czas buforowania» - Maksymalny czas życia plików pamięci podręcznej w minutach. Po tym czasie pamięć podręczna zostanie zaktualizowana.
  • Pole " Pamięć podręczna specyficzna dla platformy» — Włącz lub wyłącz buforowanie specyficzne dla platformy. Włącz, gdy wynik HTML na urządzeniu mobilnym różni się od innych urządzeń. (Domyślnie wyłączone)
  • Pole " Pamięć podręczna systemu» - Włącza lub wyłącza buforowanie, a także określa jego poziom. Poziom standardowy: Mniejsza pamięć podręczna systemu, Poziom progresywny (domyślny): Szybszy, Większa pamięć podręczna systemu, ponieważ obejmuje buforowanie modułów. Nie nadaje się do bardzo dużych witryn.

Aby dokonać zmian należy zmienić dane w tych polach i użyć przycisku „Zapisz” lub „Zapisz i zamknij” w Górny rząd przyciski sterujące „Ustawienia ogólne” panelu administracyjnego. Zostawiać Ustawienia główne bez dokonywania zmian możesz skorzystać z przycisku „Anuluj”.

CMS Joomla posiada możliwość buforowania materiałów, co pozwala zredukować ilość zapytań do bazy, a co za tym idzie – przyspieszyć generowanie stron i zmniejszyć obciążenie serwera. Jest to szczególnie ważne w przypadku witryn o dużym natężeniu ruchu.

Zasada działania jest w przybliżeniu następująca: kiedy po raz pierwszy uzyskujesz dostęp do materiału, jest on nie tylko generowany i przesyłany do przeglądarki użytkownika, który go zażądał, ale także przechowywany w określonym folderze na Twojej stronie (folder pamięci podręcznej). Następnym razem, gdy uzyskasz dostęp do tego samego materiału, nie będzie on już ponownie generowany, zabierając zasoby serwera, ale po prostu pobierany z pamięci podręcznej.

Rodzi się pytanie: „A co wtedy z aktualizacją strony? Przecież użytkownik nie zauważy zmian, które wprowadziliśmy, bo wyświetlają mu się nieaktualne informacje z pamięci podręcznej?”

Dokładnie. Użytkownik zobaczy wprowadzone zmiany dopiero po pewnym czasie, który nazywa się czas buforowania. Jest to czas, w którym przechowywane są informacje z pamięci podręcznej. Jest on następnie usuwany i ponownie buforowany.

Bardzo ważne jest, aby wybrać odpowiedni czas życia pamięci podręcznej. Kluczowym czynnikiem jest tutaj częstotliwość aktualizacji informacji. Jeśli na przykład aktualizujesz informacje na stronie raz dziennie, rozsądne byłoby ustawienie czasu buforowania na nieco mniej niż 24 godziny, na przykład - 22 godziny (1320 minut). Przez pozostałe kilka godzin jest całkiem możliwe, że masz czas na aktualizację materiałów.

Jeśli wprowadzasz zmiany raz na dwa dni, ustaw czas na 46 godzin (2760 minut). Ogólnie myślę, że znaczenie jest jasne.

Jeśli nagle potrzebujesz dokonać niezaplanowanej aktualizacji i chcesz, aby zmiany zaczęły obowiązywać natychmiast, możesz po prostu ręcznie wyczyścić pamięć podręczną.

Aby włączyć buforowanie, przejdź do panelu administracyjnego, wybierz STRONA - USTAWIENIA OGÓLNE - SYSTEM. Po prawej stronie możesz zobaczyć ustawienia pamięci podręcznej.

Ustaw przełącznik radia na „Tak” i ustaw czas buforowania. Nie zapomnij kliknąć przycisku „Zapisz”, aby zmiany zaczęły obowiązywać :)

W tym przypadku zwróciliśmy się do tzw. opcje globalne, tj. włączone buforowanie dla całej witryny. Jednak w przypadku niektórych modułów lepiej w ogóle go nie używać. Mogą to być moduły wyświetlające często aktualizowane informacje, takie jak wiadomości, pogoda itp.

Przejdź do ROZSZERZENIA - MENEDŻER MODUŁÓW - kliknij ten, którego potrzebujesz i przejdź do ustawień. Interesuje nas pozycja Parametry (po prawej).

Jak widać, możesz albo użyć ustawień globalnych, albo w ogóle nie używać pamięci podręcznej dla konkretnego modułu.

Aby ręcznie wyczyścić pamięć podręczną, przejdź do NARZĘDZIA - WYCZYŚĆ PAMIĘĆ

Streszczenie: technologia buforowania może znacznie przyspieszyć działanie witryny Joomla i poprawić jej wydajność. Podczas korzystania z tej technologii może dojść do sytuacji, gdy odwiedzający zobaczy aktualizacje na stronie z pewnym opóźnieniem. Aby temu zapobiec, musisz wybrać odpowiedni czas buforowania. Głównym kryterium wyboru tego czasu jest częstotliwość aktualizacji strony. W przypadku niektórych modułów, na przykład różnych informatorów, lepiej całkowicie wyłączyć buforowanie.