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 701.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, używanie wewnętrznych metod buforowania dla obiektów bazy danych i wyników będzie dobrą praktyką programistyczną, ponieważ Twoja wtyczka nie zależy od rozwiązania buforowania, które usuwa użytkownika końcowego. Twoja wtyczka powinna działać szybko i nie powinna polegać na innych wtyczkach do wykonywania brudnej roboty. A jeśli myślisz, że powinieneś napisać własny kod do zarządzania pamięcią podręczną, to się mylisz. WordPress zawiera wszystko, czego potrzebujesz, aby szybko wdrożyć różne buforowanie danych. Wystarczy zidentyfikować części kodu, które skorzystają na optymalizacji, i odpowiednio wybrać typ 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ą.

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

Gdy korzystasz z funkcji takich jak „ Get_posts () "Lub" Get_post_meta () WordPress najpierw sprawdza, czy potrzebne dane są przechowywane w pamięci podręcznej. Jeśli tak, to otrzymasz dane z pamięci podręcznej; w przeciwnym razie w celu uzyskania tych danych zostanie wykonane zapytanie do bazy danych. Po odzyskaniu danych zostaną one również zapisane w pamięci podręcznej. Nietrwała pamięć podręczna jest zalecana dla wyników bazy danych, które można ponownie wykorzystać podczas tworzenia strony.

Wewnętrzny nietrwały kod pamięci podręcznej WordPress znajduje się w pliku „ cache.php „W katalogu„ wp-includes ”zarządzanym przez„ 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.

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]

Przykłady

W tym przykładzie utworzymy funkcję o nazwie „d4p_get_all_post_meta ()”, która pobiera wszystkie metadane powią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 uruchomimy normalny kod, aby pobrać dane, a następnie dodamy je do pamięci podręcznej w wierszu 13. Więc jeśli wywołasz tę funkcję więcej niż raz, tylko pierwszy wykona zapytanie SQL. Wszystkie inne połączenia będą pobierać dane z pamięci podręcznej. Tutaj używamy funkcji „ wp_cache_add ”, Więc jeśli kombinacja„ klucz-grupa ”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 dokonaliśmy niewielkiej zmiany w istniejącym kodzie, ale potencjalnie zaoszczędziliśmy wiele wywołań bazy danych, co potencjalnie przyspieszyło ł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 przez całkowitą pamięć dostępną w PHP przydzieloną przez serwer. Nie przechowuj dużego zestawu danych, ponieważ może to spowodować wyświetlenie komunikatu „Brak pamięci”.

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

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]

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

Twoj adres e-mail nie bedzie 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