Przejdź do głównej treści

Jak korzystać nietrwałe cache WordPress

Divi: najłatwiejszy w użyciu motyw WordPress

Divi: Najlepszy motyw WordPress wszechczasów!

więcej Pobieranie 600.000, Divi jest najpopularniejszym motywem WordPress na świecie. Jest kompletny, łatwy w użyciu i zawiera więcej niż darmowe szablony 62. [Zalecane]

Istnieją różne sposoby na zwiększenie wydajności witryny: wyspecjalizowane wtyczki umożliwiają buforowanie stron dla statycznej zawartości HTML, inne umożliwiają buforowanie wszystkich zapytań SQL i obiektów danych, a na koniec niektóre pozwala zminimalizować pliki JavaScript i CSS, a nawet rozwiązania po stronie serwera.

mise-en-hide-na wordpress

Ale nawet jeśli używasz tych wtyczek, stosowanie wewnętrznych metod buforowania obiektów i wyników bazy danych będzie dobrą praktyką programistyczną, ponieważ wtyczka nie zależy od rozwiązania pamięci podręcznej, którego ma użytkownika końcowego. Twoja wtyczka musi być sama w sobie szybka i nie powinna polegać na innych wtyczkach do brudnej roboty. A jeśli uważasz, że musisz napisać własny kod zarządzania pamięcią podręczną, to się mylisz. WordPress zawiera wszystko, czego potrzebujesz, aby szybko zaimplementować różne buforowanie danych. Musisz tylko zidentyfikować części kodu, które skorzystają z optymalizacji i odpowiednio wybrać rodzaj buforowania.

WordPress implementuje dwie różne metody buforowania:

Nietrwałe

Dane pozostają w pamięci podręcznej podczas ładowania strony. (WordPress używa go do buforowania większości wyników zapytań z bazy danych.)

Trwały

Łatwo stwórz swoją stronę internetową dzięki Elementor

Elementor pozwala łatwo stworzyć dowolny projekt strony internetowej o profesjonalnym wyglądzie. Przestań płacić drogo za to, co możesz zrobić sam. [Bezpłatny]

Zależy to od sposobu działania bazy danych, a buforowane dane mogą wygasnąć po pewnym czasie. (WordPress używa go do buforowania kanałów RSS, aktualizacji itp.).

W tym samouczku uwzględnimy tylko nietrwałą pamięć podręczną.

Szukasz najlepszych motywów i wtyczek WordPress?

Pobierz najlepsze wtyczki i motywy WordPress na Envato i łatwo stwórz swoją stronę. Już więcej niż pobrań 49.720.000. [EXCLUSIVE]

Jak skonfigurować nietrwałą pamięć podręczną „Nietrwałe”

Gdy korzystasz z funkcji takich jak „ Get_posts () "Lub" Get_post_meta () WordPress najpierw sprawdza, czy potrzebne dane są buforowane. Jeśli tak, to otrzymasz dane z pamięci podręcznej; w przeciwnym razie zostanie wykonane żądanie do bazy danych w celu uzyskania tych danych. Po pobraniu danych zostaną one również buforowane. Nietrwały bufor jest zalecany dla wyników bazy danych, które mogą być ponownie użyte podczas tworzenia strony.

Wewnętrzny nietrwały kod pamięci podręcznej WordPress znajduje się w pliku „ cache.php W katalogu „wp-obejmuje” i jest zarządzany przez klasę „ WP_Object_Cache ”. Musimy użyć dwóch podstawowych funkcji: „ wp_cache_set () "A" wp_cache_get () Jednocześnie z funkcjami dodatkowymi ” wp_cache_add () "," wp_cache_replace () "," wp_cache_flush () "A" wp_cache_delete () ”. Pamięć podręczna jest zorganizowana w grupy, z których każda pozycja potrzebuje swojego unikalnego klucza. Aby uniknąć pomieszania domyślnych danych WordPress, najlepszym rozwiązaniem jest używanie unikalnych nazw.

Przykłady

W tym przykładzie utworzymy funkcję o nazwie „d4p_get_all_post_meta ()”, która pozwala odzyskać wszystkie metadane związane z artykułem. Ta pierwsza wersja nie zawiera buforowania.

function d4p_get_all_post_meta($post_id) {
    global $wpdb;

    $data = array();
    $raw = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id", ARRAY_A );

    foreach ( $raw as $row ) {
        $data[$row['meta_key']][] = $row['meta_value'];
    }

    return $data;
}

Za każdym razem, gdy wywołasz tę funkcję dla tego samego artykułu, zostanie wykonane zapytanie SQL. Oto zmodyfikowana funkcja korzystająca z nietrwałej pamięci podręcznej WordPress:

function d4p_get_all_post_meta($post_id) {
    global $wpdb;

    if ( ! $data = wp_cache_get( $post_id, 'd4p_post_meta' ) ) {
        $data = array();
        $raw = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id", ARRAY_A );

        foreach ( $raw as $row ) {
            $data[$row['meta_key']][] = $row['meta_value'];
        }

        wp_cache_add( $post_id, $data, 'd4p_post_meta' );
    }

    return $data;
}

Tutaj używamy grupy pamięci podręcznej o nazwie „ d4p_post_meta „I„ post_id ”, który jest kluczem. Dzięki tej funkcji sprawdzimy, czy potrzebujemy wszystkich danych w pamięci. W przeciwnym razie wykonujemy normalny kod w celu uzyskania danych, a następnie dodajemy go do pamięci podręcznej w wierszu 13. Tak więc, jeśli wywołasz tę funkcję więcej niż raz, tylko pierwsza wykona zapytanie SQL. Wszystkie pozostałe połączenia będą pobierać dane z pamięci podręcznej. Używamy tutaj funkcji „ wp_cache_add Jeśli kombinacja „grupa kluczy” już istnieje, nie zostanie zastąpiona. Porównaj to z „ wp_cache_set Który zawsze zastąpi istniejącą wartość bez sprawdzania.

Jak widać, właśnie wprowadziliśmy niewielką zmianę w istniejącym kodzie, ale potencjalnie zapisaliśmy wiele wywołań do bazy danych, co potencjalnie przyspiesza ładowanie.

Ważne uwagi

Nietrwała pamięć podręczna jest dostępna tylko podczas ładowania bieżącej strony; po załadowaniu następnej strony będzie ona ponownie pusta.

Rozmiar pamięci jest ograniczony całkowitą dostępną pamięcią w PHP przydzieloną przez serwer. Nie przechowuj dużego zestawu danych, w przeciwnym razie może pojawić się komunikat „brak pamięci”.

Z łatwością stwórz swój sklep internetowy

Uzyskaj woocommerce, najlepsze wtyczki e-commerce do sprzedaży produktów swoich fizycznych i cyfrowych na WordPressie. [Zalecane]

Korzystanie z tego typu pamięci podręcznej ma sens tylko w przypadku powtarzanych operacji więcej niż jeden raz podczas tworzenia strony.

Działa z WordPress od wersji 2.0.

To tyle w tym samouczku. Mam nadzieję, że pozwoli to lepiej buforować bloga.

Ten artykuł zawiera komentarze 0

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ta strona używa Akismet, aby zmniejszyć niechciane. Dowiedz się więcej o sposobie wykorzystania danych komentarzy.

Powrót do góry
5 akcji
udział2
ćwierkanie
Enregistrer3