Ana İçeriğe Geç

Nasıl kalıcı olmayan önbellek WordPress kullanmak için

Divi: Kullanılacak en kolay WordPress teması

Divi: Tüm zamanların en iyi WordPress teması!

daha fazla 600.000 indirmeler, Divi, dünyanın en popüler WordPress teması. Tamamen, kullanımı kolay ve 62 ücretsiz şablonlardan daha fazlasını sunuyor. [Önerilen]

Sitenizi daha verimli hale getirmenin farklı yolları vardır: özelleştirilmiş eklentiler sayfaları statik HTML içeriği için önbellekte tutmanıza izin verir, diğerleri tüm SQL sorgularını ve veri nesnelerini ve son olarak da bazılarını önbelleğe almanıza izin verir JavaScript ve CSS dosyalarını ve hatta sunucu tarafı çözümleri en aza indirmenizi sağlar.

mise-en-sakla-on-wordpress

Ancak bu eklentileri kullanıyor olsanız bile, nesneler ve veritabanı sonuçları için dahili önbellekleme yöntemlerini kullanmak, eklentinizin önbellek çözümüne bağlı olmadığı için iyi bir geliştirme uygulaması olacaktır. Son kullanıcı var. Eklentiniz hızlı olmalı ve kirli işleri yapmak için diğer eklentilere güvenmemelidir. Ve kendi önbellek yönetim kodunuzu yazmanız gerektiğini düşünüyorsanız, yanılıyorsunuz. WordPress, çeşitli verileri önbelleğe almayı hızla uygulamak için ihtiyacınız olan her şeyle birlikte gelir. Kodunuzun optimizasyondan yararlanacak kısımlarını tanımlamanız ve buna göre bir önbellek türü seçmeniz yeterlidir.

WordPress, iki farklı önbelleğe alma yöntemi uygular:

kalıcı değildir

Sayfa yüklenirken veriler önbellekte kalır. (WordPress, sorgu sonuçlarının çoğunu veritabanından önbelleğe almak için kullanır.)

Kalıcı

Elementor ile web sitenizi kolayca oluşturun

Elementor, profesyonel bir görünüme sahip herhangi bir web sitesi tasarımını kolayca oluşturmanıza olanak sağlar. Kendin yapabileceğin için pahalı ödemeyi kes. [Ücretsiz]

Bu, veritabanının nasıl çalıştığına bağlıdır ve önbellekteki veriler belirli bir süre sonra kendiliğinden sona erebilir. (WordPress, RSS beslemelerini, güncellemelerini vb. Önbelleğe almak için kullanır).

Bu eğiticide, yalnızca kalıcı olmayan önbellekleri dikkate alacağız.

En iyi WordPress temalarını ve eklentilerini mi arıyorsunuz?

Envato'daki en iyi eklentileri ve WordPress temalarını indirin ve web sitenizi kolayca oluşturun. 49.720.000 indirme işleminden daha fazla. [ÖZEL]

Kalıcı olmayan önbellek "Kalıcı Olmayan" nasıl ayarlanır

"Gibi işlevleri kullandığınızda get_posts () "Ya da" get_post_meta () WordPress ilk önce ihtiyacınız olan verilerin önbellekte olup olmadığını kontrol eder. Öyleyse, önbellekten veri alırsınız; Aksi takdirde, bu verileri elde etmek için veritabanına bir istek gerçekleştirilecektir. Veri alındıktan sonra da önbelleğe alınır. Sayfa oluştururken yeniden kullanılabilecek veritabanı sonuçları için kalıcı olmayan bir önbellek önerilir.

WordPress'in kalıcı olmayan önbellek kodu "dosyasında bulunur cache.php "Wp-include" dizininde ve sınıf tarafından yönetiliyor " WP_Object_Cache ". İki temel işlev kullanmamız gerekiyor: " wp_cache_set () "Ve" wp_cache_get () Ek fonksiyonlarla aynı anda " wp_cache_add () "" wp_cache_replace () "" wp_cache_flush () "Ve" wp_cache_delete () ". Önbelleğe alınmış depolama, her biri kendine özgü anahtarı için gereken, gruplar halinde düzenlenmiştir. Varsayılan WordPress verilerinin karıştırılmasını önlemek için, benzersiz adlar kullanmak en iyi uygulamadır.

örnekler

Bu örnekte, "d4p_get_all_post_meta ()" adında, bir makaleyle ilişkili tüm meta verilerini almaya izin veren bir fonksiyon yaratacağız. Bu ilk sürüm önbellekleme içermiyor.

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;
}

Bu işlevi aynı makale için her çağırdığınızda, bir SQL sorgusu çalıştırılır. Kalıcı olmayan WordPress önbelleğini kullanan değiştirilmiş işlev şunlardır:

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;
}

Burada "adında bir önbellek grubu kullanıyoruz d4p_post_meta "Ve" post_id "anahtar olan. Bu fonksiyon ile bellekteki tüm verilere ihtiyacımız olup olmadığını kontrol edeceğiz. Aksi takdirde, verileri elde etmek için normal kodu kullanırız ve ardından 13 satırındaki önbelleğe ekleriz. Dolayısıyla, bu işlevi bir kereden fazla çağırırsanız, yalnızca ilki bir SQL sorgusu yürütür. Diğer tüm çağrılar önbellek verilerini alır. Burada fonksiyonu kullanıyoruz " wp_cache_add "Anahtar grubu" kombinasyonu zaten mevcutsa, değiştirilmeyecektir. Şununla karşılaştır " wp_cache_set Var olan değeri her zaman kontrol etmeden değiştirecektir.

Gördüğünüz gibi, var olan kodda küçük bir değişiklik yaptık, ancak veritabanına çok fazla çağrı kaydetme potansiyeli vardı ki bu da daha hızlı yükleme yapabiliyor.

Önemli Notlar

Kalıcı olmayan önbellek yalnızca geçerli sayfasının yüklenmesi sırasında kullanılabilir; Bir sonraki sayfa yüklendikten sonra, yine boş olacaktır.

Depolama boyutu, sunucu tarafından tahsis edilen PHP'deki toplam kullanılabilir bellekle sınırlıdır. Çok sayıda veri saklamayın, aksi takdirde "yetersiz" mesajıyla karşılaşabilirsiniz.

Çevrimiçi Mağazanızı kolayca oluşturun

WordPress'te fiziksel ve dijital ürünlerinizi satmak için ücretsiz WooCommerce, en iyi e-ticaret eklentilerini indirin. [Önerilen]

Bu önbellek türünü kullanmak, sayfa oluşturma sırasında yalnızca tekrarlanan işlemler için bir defadan fazla anlam ifade eder.

Bu 2.0 çıktığından beri WordPress ile çalışır.

Bu eğitim için bu kadar. Umarım blogunuzu daha iyi önbelleğe almanıza izin verir.

Bu makale yorumları 0 içeriyor

YORUM BIRAKIN

E-posta adresiniz gösterilmeyecektir. Doldurulması zorunlu alanlar * ile işaretlenmiştir *

Bu site, istenmeyenleri azaltmak için Akismet'i kullanıyor. Yorum verilerinizin nasıl kullanıldığı hakkında daha fazla bilgi edinin..

Başa dönüş
5 hisseleri
hisse2
cıvıltı
Enregistrer3