Pa, 02/04/2018 - 21:31 By Umit
web site performans

Yogun trafiğe sahip drupal projelerinizde modul geliştirken, üçüncü parti API'lerinden veya veri tabanından bilgi toplamak istediğinizde ağır hesaplamalar yapmanız gerekmez. Bunun yerine bir kere çalıştırın ve önbelleğe alın. Bizzat karışık SQL sorguları ve üçüncü parti entegrasyonları çalıştırmak gerektiğinde önbelleğe alma özelliğini kullanarak daha hızlı açılan web sayfaları oluşturabilirsiniz.

Drupal 8 için aşağıdaki kod yapısını kullanın;

public function custom_example_cache() {
  $data = &drupal_static(__FUNCTION__); //` __METHOD__` ile değiştirilebilir
  $cid = 'custom_example:' . \Drupal::languageManager()->getCurrentLanguage()->getId();

  if ($cache = \Drupal::cache()->get($cid)) {
    $data = $cache->data;
  }
  else {
    // Burası, yalnızca çalışacak kodunuzu ekleyeceğiniz yerdir    
    // yeni bir önbellek oluştururken.
    $data = custom_complicated_calculation();
    \Drupal::cache()->set($cid, $data);
  }
  return $data;
}

Drupal 7 için aşağıdaki kod yapısını kullanın;

function custom_example_cache() {
  $data = &drupal_static(__FUNCTION__);
  if (empty($data)) {
    if ($cache = cache_get('custom_example')) {
      $data = $cache->data;
    }
    else {
      // Burası, yalnızca çalışacak kodunuzu ekleyeceğiniz yerdir
      // yeni bir önbellek üretirken.
      $data = custom_complicated_calculation();
      cache_set('custom_example', $data, 'cache');
    }
  }
  return $data;
}

Yardımcı Linkler

  1. Drupal 8 API: Cache API
  2. Drupal 8 API: function drupal_static
  3. Drupal 7 API: function cache_set
  4. Drupal 7 API: function cache_get
  5. Drupal 7 API: function drupal_static