WordPress Notları

WordPress Haberleri,İpuçları,Eklentileri,Temaları ve dahası

  • Haberler
  • İpuçları
  • Nasıl Yapılır
  • Eklentiler
  • Temalar
  • Multisite
  • Güvenlik

23 Ağustos 2013 tarihinde Mustafa Uysal yazdı 4 Yorum

Transients API

transient-api

Bugünkü yazımızda bir veriyi önbellekte tutmak için kullanabileceğimiz en kolay ve etkili yöntemlerden biri olan WordPress Transients API’e değineceğiz.

Öncelikle yazıyı okurken diğer taraftanda API’nin kendi döküman sayfası açık kalsın. Transients API temel olarak 6 fonksiyondan oluşur. Aslında teknik olarak 3 fonksiyondan bahsedebiliriz, çünkü set_site_transient() ile set_transient() arasındaki temel fark _site_ fonksiyonlarının multisite için tasarlanmış olmasıdır. Bu açısından bakınca 3 fonksiyonu incelememiz yeterli gelecektir.

set_transient()

Bir veriyi önbelleğe alırken şu şekilde;

set_transient( $transient, $value, $expiration );

3 parametre ile çalışan fonksiyonumuz. Birincisi transent’in ismi oluyor, ikincisi tutacağı değer, ve son olarakta saniye cinsinden ömrünü ayarlıyoruz.

Not: Saniye cinsinden değer girerken WordPress 3.5 te eklenen zaman sabitlerinden faydalanabilirsiniz.

MINUTE_IN_SECONDS = 60 (seconds)
HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS
DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS
WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS
YEAR_IN_SECONDS = 365 * DAY_IN_SECONDS

get_transient()

Transient olarak tutulan veriyi çağırmaya yarar. Şu şekilde;

 get_transient( $transient );

şeklinde kullanılır. Aldığı tek parametre, çağırdığı transient’in adıdır.

delete_transient()

Transient’ olarak tutulan verilerin zaten yaşam aralığını biz belirlediğimiz için belirli bir süre sonra kendi kendini imha edecektir.

Bu yüzden en az kullanılan fonksiyon delete_transient() fonksiyonu olsa da, bazı durumlarda (silme, güncelleme vs… gibi) yardımcı olabilmekte. Gelelim kullanımına;

delete_transient( $transient );

aynı get_transient’te olduğu gibi tek parametre alır, onda da silinecek transient’in adını tutar.

Örnek Senaryo

Transient API’i temanızda eklentinizde vs.. pek çok yerde yaygın olarak kullanabilirsiniz, temelde Options API ile aynı şekilde çalışsa da, kendi kendini yok etme özelliği cache için güzel bir ortam sunar.

Özellikle pahalı sorgular diyebileceğimiz bir değerin hesaplanmasının uzun süre aldığı yada sistem kaynağını yorduğu değerler, sürekli güncel olmak zorunda değilse bu gibi noktalarda çok faydasını görürsünüz.

Yada bir başka örnek vermek gerekirse Uzak bir sunucudan aldığınız veriyi transient’te tutabilir, böylece her isteği uzaktaki sunucuya yapıp performans kaybına neden olmazsınız ( şahsen kullandım, çok faydasını gördüm ) .

Bunu paylaş:

  • Tweet
  • Daha fazla
  • Tumblr' da Paylaş
  • Reddit üzerinde paylaşmak için tıklayın (Yeni pencerede açılır) Reddit
  • Arkadaşınıza e-posta ile bağlantı göndermek için tıklayın (Yeni pencerede açılır) E-posta

İlgili

Kategori:İpuçları, Nasıl Yapılır Etiketler: transient api, transient cache, wordpress geçici önbellek, wordpress optimizasyon, wordpress performans, wordpress transient

Hakkımda Mustafa Uysal

WPNotları'nın kurucu editörü. WordPress üzerine yazar, çizer arada katkı yapar.

Yorumlar

  1. Hakan der ki

    23 Ağustos 2013 ile 01:01

    Gerçekten faydalı bir yazı olmuş, teşekkürler. Bu fonksiyonu anasayfadaki yazılar için kullandığımda sayfalama olayına çözüm bulamamıştım. Acaba sitedeki yazıları listelerken örneğin 40 postu cache’e alıp, bunları sayfalama yöntemiyle 10’ar 10’ar ayırmamız mümkün müdür? Kullanıcı ilk 4 sayfada cache’den içeriği görüntüleyip kalan sayfaları da cache olmadan görüntüleyebilir mi?

    Yanıtla
    • Mustafa Uysal der ki

      23 Ağustos 2013 ile 01:08

      Transient’te mümkün olduğunca cache’i küçük tutmaya çalışın. Çünkü sizin bahsettiğiniz örnekte 40 post’u tek bir database field’ına serialize etmiş olarak tutuyorsunuz ki şahsen bunun çok faydalı olduğunu düşünmüyorum. Onun yerine html output cache yada lazy load tekniğini araştırmanızı öneririm.

      Yanıtla
  2. borantula der ki

    23 Ağustos 2013 ile 07:23

    Ben en çok twitterdan data çektiğim durumlarda kullanmıştım bu özelliği. Böylece twitter sorgu limitlerini de aşmadan saat başı tweetleri çekip gösteriyordu

    Yanıtla
    • Mustafa Uysal der ki

      23 Ağustos 2013 ile 08:06

      Aynen, özellikle API ile etkileşimli işlerde kullanışlı olabiliyor.

      Yanıtla

Bir yanıt yazın Yanıtı iptal et

Lütfen gerçek bilgilerinizi kullanın. Herhangi bir site adı ile yazılan yorumlar onaylanmayacaktır!

Popüler Yazılar & Sayfalar

  • WordPress Resim Kalitesini Düzenleyin
    WordPress Resim Kalitesini Düzenleyin

Bloga e-posta ile abone ol

Bu bloga abone olmak ve e-posta ile bildirimler almak için e-posta adresinizi girin.

Blogroll

  • HandyPlugins
  • NoCodeWP
  • Powered Cache
  • WholeStuff
  • WPHandle
  • Hakkımızda
  • İletişmeyin!
  • Bülten Gönder
  • Site Haritası
  • Gizlilik Politikası

© 2025 - WPNotlari

Bu internet sitesinde, kullanıcı deneyimini geliştirmek ve internet sitesinin verimli çalışmasını sağlamak amacıyla çerezler kullanılmaktadır. TamamGizlilik politikası