symfony doctrine caching

23 views
Skip to first unread message

Kenan ASKER

unread,
Aug 16, 2016, 6:13:02 AM8/16/16
to Symfony 2 Turkish Users
Selamlar

Doctrine caching ile ilgili bilginize danışmak istiyorum. 
Birkaç sorum olacak müsaitlik durumunuza göre cevaplamanızı rica ederim.
Teşekkürler

Doctrine caching için ne kullanıyorsunuz ve neden? (APC, Memcache vs.)
Nasıl konfigüre ettiniz?
Sadece aşağıdaki gibi querybuilder ile yapılan sorgulamalarda mı kullanılıyor? 
private function myQuery()
{
    return $this->connect->createQueryBuilder()
        ->select('user_id')
        ->from('users', 'u')
        ->where('u.user_id = 2')
        ->getQuery()
        ->useQueryCache(true)    // here
        ->useResultCache(true);  // and here
}

findAll(), findBy() methodlarındada kullanabiliyor muyuz?

Osman Üngür

unread,
Aug 16, 2016, 6:19:49 AM8/16/16
to symfon...@googlegroups.com
Bahsettigin `sonuc` cachelemesi useResultCache’i eklersen gerceklesir. QueryCache, DQL’in SQL halinin cachelenmesini sagliyor. 
QueryCache icin APC, Result cache icin memcached, redis, riak benzeri birsey oneririm.
Benim kullanim tarzima gelirsek.

Caching icin Redis kullaniyorum. Proje birden fazla sunucuda calisacaksa Cache paylasilmis olur. APC onermiyorum. Apc sadece shared-memory icinde kaliyor ve yonetimi zor.
Konfigurasyonu symfony config.yml den yaptim. DoctrineCacheBundle kullandim. (Doctrine cache bundle icin ayri bir konfigurasyon eklemen lazim)
Sadece bahsettigin gibi querybuilderlarda kullaniliyor. findBy li metodlarda kullanmak icin metodlari repository’de ezmen gerekir. 
Eger daha karmasik cache stratejilerin varsa cachelemeyi controller veya service seviyesinde yapmani oneririm. (Aslinda bunu her sartta oneririm) DoctrineCacheBundle ile kolayca cache’e erisebilirsin.

Sevgiler, kolay gelsin.

--

---
Bu iletiyi Google Grupları'ndaki "Symfony 2 Turkish Users" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için symfony-2-tr...@googlegroups.com adresine e-posta gönderin.
Daha fazla seçenek için https://groups.google.com/d/optout adresini ziyaret edin.

Kenan ASKER

unread,
Aug 16, 2016, 6:42:53 AM8/16/16
to Symfony 2 Turkish Users

Hızlı cevabın için teşekkür ederim Osman. Ek söylediklerine istinaden kafama takılan birkaç sorum daha olacak.

QueryCache ne için kullanılır. Sadece bunu cachelemenin bir faydası var mı neden kullanılır?

Her resultCache için queryCache'i de cachelemek gerekir diye düşünüyorum. Doğru mu? Yoksa sadece resultCache kullansak yeterli mi?

Teşekkürler.

Saygılar.

16 Ağustos 2016 Salı 13:13:02 UTC+3 tarihinde Kenan ASKER yazdı:

Osman Üngür

unread,
Aug 16, 2016, 6:46:59 AM8/16/16
to symfon...@googlegroups.com
Query cache her zaman aktif olmali. Zira aksi taktirde Doctrine her defasinda DQL’in karsiligi olan SQL statement’i yeniden uretecektir. 
Bu zaten symfony config’den direkt olarak aktif edilebiliyor diye biliyorum. 

2 cache i de aktif edip redisi monitor ederek nasil davrandigini incelemelisin.
Reply all
Reply to author
Forward
0 new messages