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.