को गति देने के लिए एक डक्ट्रिन 2 इकाई को कैश करने के लिए सहेजना मान लें कि मेरे पास Product
नामक एक इकाई है और जब भी उपयोगकर्ता उत्पाद जानकारी पृष्ठ पर हिट करता है तो यह इकाई लोड होती है। आम तौर पर मैं प्रत्येक अनुरोध के लिए डीबी को मारने से बचने के लिए एक घंटे के लिए Zend_Cache (memcache) में ऑब्जेक्ट को सहेजता हूं, लेकिन जहां तक मैं समझता हूं कि प्रॉक्सी ऑब्जेक्ट्स के कारण Doctrine2 इकाइयों के साथ यह संभव नहीं है।पृष्ठ लोड
तो मेरा सवाल यह है कि, मैं प्रत्येक अनुरोध के लिए डेटाबेस से एक ही इकाई को लोड करने से कैसे बच सकता हूं?
[संपादित करें]
मैं इस
$categoryService = App_Service_Container::getService('\App\Service\Category'); $cache = $categoryService->getEm()->getConfiguration()->getResultCacheImpl(); $apple = $cache->fetch('apple');
तरह सिद्धांत कैश उपयोग करने की कोशिश लेकिन मैं निम्नलिखित त्रुटि मिलती है
चेतावनी: की आवश्यकता होती है (एप्लिकेशन/इकाई/प्रॉक्सी/_ सीजी _ /App/Entity/Category.php) [function.require]: स्ट्रीम खोलने में विफल: ऐसी कोई फ़ाइल या निर्देशिका /opt/vhosts/app/price/library/Doctrine/Common/ClassLoader.php पर लाइन 163
यह रूप में अच्छी तरह आप प्रॉक्सी वर्ग की वजह से इकाई को क्रमानुसार नहीं कर सकते हैं के रूप में
1. इसके लिए काम करने के लिए, मुझे 'ढूंढ', 'findBy *', जैसे रिपोजिटरी विधियों को ओवरराइट करने की आवश्यकता है? 2. कृपया मेरा संपादन देखें। – Optimus