Merhaba,

[wp_options] tablosunda “transient” içeren yüzlerce satır kayıt bulunmakta. WordPress’in Transients_API başlığında bu satırların geçici olduğunu ve otomatik silineceğini belirtmişler. Fakat burada işleyişte bir sıkıntı var sanırım. Bu satırlar ne işe yarar, neden otomatik silinmedi veya SQL sorgularla belirli aralıklarla el ile silsem zararı olur mu?

Screenshot_10
Screenshot_10

Cevap

Selam Yasin,

Transient bir ön bellekleme türüdür. WordPress’deki bir sorgunun çıktısını wp_options tablosundaki belirtilen alana belirli aralıklarla kaydeder, günceller ve siler. Bunun herhangi bir zararı yoktur, aksine sitenin hızlanması konusunda oldukça önemli bir rol oynamaktadır. Özellikle sorgu bazlı ön belleklemede bu çok etkilidir.

Sitenizde eklenti kullanmasanız bile WordPress’de hazır gelen Transient sorguları vardır. WordPress bazı sorgu sonuçlarını burada hazır tutuyor. Böylelikle WordPress üzerindeki sorgu yükünü bir nebzede olsa azaltmış oluyor.

Transient’leri silmenizi tavsiye etmeyiz, bunların herhangi bir zararı yoktur, aksine faydası vardır.

Yüzlerce transient’larınız varsa yanlış giden bir şeyler var demektir. Tabi sitenizde yanlış kullanılan transient’ler olabilir. Bunların öncelikle nerelerde ve nasıl kullandığını araştırmalısınız ki, gereksiz transient kullanımı veya amacının dışında kullanımlar olabilir.

Örnek kullanımı şu şekildedir;

<?php
// special_query_results transient'imiz yani sorgu çıktısı daha önce oluşturulup süresi dolmuş mu kontrol ediliyoruz
if ( false === ( $special_query_results = get_transient( 'special_query_results' ) ) ) {
// Eğer oluşturulmamışsa sorgumuzu çalıştırıp $special_query_results değişkenine atıyoruz
$special_query_results = new WP_Query( 'cat=5&order=random&tag=tech&post_meta_key=thumbnail' );
    
// Değişkene attığımız sorgu sonucumuzu, 12 saatte bir silinmesi üzere veritabanımıza kaydediyoruz.
set_transient( 'special_query_results', $special_query_results, 12 * HOUR_IN_SECONDS );
}

// Veritabanında kayıtlı olan transient'imizi çekip istediğimiz gibi kullanabiliriz..
?>

Sevgiler,

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir