WordPress Geçici API ile önbelleğe alınmayı anlayın
Bilgisayar performansı çoğunlukla önbellekleme fikri etrafında döner: “Bir şeyi daha iyi hazırlanmış ve daha hızlı erişilen bir durumda saklamak”, böylece nihai sonucu daha hızlı verebilirsiniz. WordPress Geçici API, önbellekleme için bir araç ve WordPress’teki performansı iyileştirmenin önemli bir yoludur. Gerçek bir hayat örneği almak için: Mutfak dolabınız bir tür önbellektir. Dolabınızda bir “önbellek” çorbası kutunuz var, soba-anlamlılığınıza hızlı bir şekilde gönderilmeye hazır, her çorba istediğinizde süpermarkete gitmenize gerek yok.
WordPress bağlamında önbellekleme için geçici WordPress’i neden kullanın, en çok önbellekleme “tam sayfa” önbelleğe alınma anlamına gelir: Tam bir web sayfasını ziyaretçilere göndermeden hemen önce kaydedin, böylece sayfayı soran bir sonraki ziyaretçi sunucu olmadan depolanmış bir sürüm alacak Yeniden inşa etmelisin. Bu, WP Super Cache gibi birçok önbellek eklentisine bir yaklaşımdır. Bazı durumlarda çok idealdir ve site hızı üzerinde büyük bir etkiye sahip olabilir.
Facebook gibi uzun mesafeli sunuculardan yavaş sonuçlar veya büyük veritabanı sorguları gibi tam sayfalardan başka şeyleri saklayarak performansı artırabilirsiniz.
Bununla birlikte, “kısmen” veya “nesne” önbelleğe alma fikri de vardır: uzun mesafeli bilgi işlem sonuçları gibi tam sayfalardan başka bir şeyleri saklayarak, uzun mesafeli sunuculardan yavaş sonuçlar (örneğin Facebook veya Twitter sonuçları) veya çalıştırma eğilimi olan ve üretilen sonuçlarda çok tutarlı olan büyük veritabanı sıraya koyun. WordPress’te, “kısmen önbellek” sayfalarının yolu, bir seferde bir veri nesnesi geçici API’dır. WordPress Geçişlerini Anlamak WordPress Geçici API’si, belirli bir şekilde verileri depolama yöntemleri için kullanımı kolay olan kendi arayüzünü yapar. Sunucu ortamı, bu nedenle WordPress geliştiricilerinin çevresel özellikler hakkında çok fazla endişelenmelerine gerek yoktur.
Geçişlerle, bir isim verebilmek ve bir dizi veri depolamak ve hızlı bir şekilde geri almak istiyoruz. “Anahtar Değer Depolama” olarak adlandırılan şey, bellekteki önbellek sisteminin tam olarak izin verdiği gibidir. Memcached (memcached.org) bu sistemden biridir: veri topaklarını depolamanın ve daha sonra geri almanın çok hızlı, basit ve güçlü bir yolu. Bununla birlikte, memcached ve benzer sistemler her yerde mevcut değildir-WordPress’in çalıştığı çoğu sunucuda bile.
API Geçişleri, geliştiricilerin membüz veya benzer anahtar değer depolama sistemleri sanki her ikisi de mevcut gibi depolamasına olanak tanır. Dolayısıyla, WordPress geçişli API’si, programcıların verileri yaptıkları gibi saklamalarına izin verir veya eğer yaparsanız veya benzeri anahtar değer depolama sistemleri, gerçekten var olup olmadığı konusunda endişelenmelidir.
Bir veritabanında bellek ve depolama alanında depolama API geçişlerinin gerçek çalışmasının bir kaydı olarak: Memcached veya diğer önbellek formları mevcut olmadığında, WordPress Düzenli Veritabanından Seçenekler Tablosundaki Veri Önbelleğini saklar. Bu, WordPress’in bellekte önbellekle aynı işlevselliği sağlamasına izin verir-ne yazık ki, biraz daha yavaş, çünkü nesne tamamen MySQL veritabanında önbellektir ve daha kolay erişilebilir olan sunucu belleğinde değil. Geçici olmalıdır. geçici! “Çağrılar” veya “” kalıcı olarak tasarlanmamıştır. (Kalıcı veriler API seçeneğinde olmalıdır; bkz. WordPress’teki API seçeneğine bkz.).
Verileri sakladığımızda, veriler için belirtilen son kullanma süresini ayarlamak istiyoruz, bundan sonra kaybolacaktır.
WordPress API geçişleri API geçişleri API’sının nasıl kullanılacağı oldukça basittir: her şeyden önce bir ortak ad değerlerini tutarsınız, sonra geri alırsınız.
Set_transient () Bu geçici ayar ekranıdır: $ String = “Bir gün boyunca beni önbelleğe alın!”; $ bool_response = set_transient (‘wspout_cache_me’, $ string, 86400);
Set_transient () ‘ın üç argümanına bakalım:
Geçici isim, bu durumda wpshout_cache_me.
Geçici değer. Bu durumda, $ String: String “Bir Gün İçin Önbellek!”
Bu geçici sürede hayatta kalacaktır. Bu argüman, bu durumda 86400’de ikinci tamsayılar gerektirir.
Sonuç, wpshout_cache_me geçici “bir gün boyunca önbellek beni önbelleğe alacak!” 86.400 saniye – yani bir gün.
get_transient () şu şekilde görünmek için kullanılacak geçici alın: $ geçişli_string = get_trantient (‘wpshout_cache_me’); if (false === $ geçici_string) {return; // Gerçek hayatta burada set_transient ()} echo ‘
‘ adını vermek istiyoruz. $ rocient_string. ‘
‘; burada, geçici olarak almak için geçici olarak (wpshout_cache_me) adıyla (wpshout_cache_me) get_transient () kullanıyoruz.
Dikkatli olmak! Get_transient () geçici yoksa false döndürür. Bu nedenle, kullanmadan önce geçici varlığını test etmek çok önemlidir. -Statement eğer yaptığımız şey bu. Gerçek bir kodda, geçici eksiklik SET_TRANSIENT () için yine nedenimiz olacaktır, ancak burada ortadan kaldırdık. Geçici olmayı başardıysak, onunla her şeyi yapabilirsiniz. Bu durumda,
ile sarılmış, yazdırıyoruz. İşte burada! Diğer dört işlev daha vardır: Delete_transient (), geçici olarak önbellekten manuel olarak kaldırma ve çoklu WordPress’te kullanılmak üzere üç alternatif işlev. Ama burada sizi geçici olarak “yürümek ve yürümek” gibi yapmak için birçok şey var.
Örnek: Geçici olarak eğlenin, “WPSOUT CACE Hard Math” adlı tam bir örnekte geçici nasıl çalıştığına bakalım.
Bitmiş ürünün nasıl çalıştığı eklentimiz bir nesne önbellekleme demosudur: bu eklenti sunucuya milyonlarca karmaşık hesaplama yapmasını ve ardından sonuçları on saniye kaydedmesini söyler. Yani her on saniyede bir, site çok yavaş yayınlanır – ancak birkaç saniye içinde site hızlı bir şekilde yüklenir! Bu işte önbelleğe alıyor.
(Not: Demo amaçlı site performansını kasten mahveddiğinden, bu kendi sitenizde veya iletişim halinde olmak istediğiniz sitede uygulamak istediğiniz eklenti değildir.) Altıncı Dakika Geçişinde sonuçlar. Bu sayfanın yüklenmesi yaklaşık on saniye sürer!
Aynı sonuç, on iki ikinci dakikada. Bu sayfa hızlı bir şekilde yayınlanır.
Sonuç yirmi ikinci dakikada. Bu sayfa tekrar çok yavaş yayınlandı.
Kodumuz size tüm eklenti dosyalarını parçalar halinde gösterecektir. Her parçalar önceki parçalardan hemen sonra görünür, bu nedenle her şeyi kopyalarsanız, kullanım için değil, işleyen bir eklentiye sahip olacaksınız.
İşlev wspout_get_hard_math_transient () {// geçici $ sonuç = get_transient (‘hard_math’); eğer (false! == $ sonuç) {// geçici var, bu yüzden döndür $ sonucu döndür; } // “Sert Matematik” (Mevcut Dakikalarda Saniyelerde Durdurulan Saniyelerde) Dizi Al $ Mathed = WSPOUT_DO_HARD_MATH (Tarih (‘S’)); // Dizi sonuçlarıyla geçici ayarlamaya çalışın; Zaman aşımı 10 saniye $ bool_response = set_trantient (‘hard_math’, $ mathed, 10); eğer (false === $ bool_response) {// Geçici olarak ayarlama çalışmadı, bu nedenle hata döndürme için false döndür; } // Geçici şimdi ayarlandı, bu yüzden al ve geri döndür get_trantient (‘hard_math’); } Bu bölüm geçici almaya çalışır. Başarılı ise, yayın yazının üstünde geçici hesaplamalar içeren bir dize yazdırmak için the_concent’e bağlanacaktır: işlev wpsout_filter_content_with_hard_math_trantient ($ içerik) {// geçici $ sonuç = wspspout_get_get_math_maram_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math_math // Geçici bir dizi değilse, (! Is_array ($ sonuç)) {return $ content; } // İçeriğe geçici verilerle diziyi hazırlayın ve döndürür ‘
(‘ Numarada dehşete kapılmış verimsiz matematik yaptım ‘. Ltrim ($ sonuç [0],’ 0 ‘). Ve The Sonuç: ‘. $ Sonuç [1].’ )
‘. $ içerik; } add_filter (‘the_content’, ‘wspout_filter_content_with_hard_math_transient’);
Bu örneği hemen anlarsanız, gerçekten derin bir seviyede WordPress alırsınız! Değilse, belirli şeyler hakkında çok fazla endişelenmeyin-sadece bu örnekte gösterilen get_transient () ve set_transient () ‘nin temel kullanımını emmeyi deneyin. Geçici olarak nasıl fayda sağlayabileceğini hayal etmekte zorlanıyorsanız, geçici için daha pratik kullanım örnekleri örnekleri Site (neredeyse kullanılamamasını sağlamak yerine), NAV menüsü değiştiğinde önbelleğini iptal etmek için delete_transient () kullanımını içeren NAV menüsü önbelleklemesinin çok güzel bir gerçek dünya örneğine bağlanacağız: HTTPS: //leaves ve-love.net/blog/ geçici-speed-up-wordpress-theme/.
Genel olarak, deneyimimize göre, geçici konu en çok, hızlanma yükünün sizin üzerinizde olduğu eklentilerin geliştirilmesinde görünür. Örneğin, bir Twitter yem widget’ı yazarsanız, Sitenin her sayfa yüklemesinden Twitter’dan almamasını sağlamak için iyi bir fikirdir. Bununla birlikte, yalnızca eklentiler kullanıyorsanız, genellikle orijinal geliştiricilerin seçimini takip etmek için sorun yok ve yeni geçişler yapma ihtiyacı çok sık görünmüyor.
Geçici WordPress hakkında öğrendiklerimiz WordPress’te geçici kullanmayı ve neden onları işte gösteren örnekleri araştırdık. WordPress’te pahalı işlemleri önbelleğe almaya çok daha hazırız ve sitemiz bunun için daha hızlı olacak. Yukarı!
Kredi görüntüsü: Anarchosyn