सबसे पहले, कैशिंग को स्क्रिप्ट में जोड़ें , ऐसा लगता है कि Zend_Feed
और Zend_Cache
एक साथ - या बस अपनी वर्तमान पीढ़ी की स्क्रिप्ट को Zend_Cache
. के साथ लपेटें ।
बस अपने जीवनकाल के साथ कैशे सेटअप करें:
$frontendOptions = array(
'lifetime' => 7200, // cache lifetime of 2 hours
'automatic_serialization' => true
);
फिर जांचें कि क्या कैश अभी भी मान्य है:
if(!$feed = $cache->load('myfeed')) {
//generate feed
$cache->save($feed, 'myfeed');
}
//output $feed
मैं नहीं जानता कि आप अपना RSS कैसे बनाते हैं, लेकिन आप एक सरणी संरचना को Zend_Feed
में आयात करें
:
$rssFeedFromArray = Zend_Feed::importArray($array, 'rss');
बेशक सर्वश्रेष्ठ तरीका हो सकता है कि केवल अपने वर्तमान फ़ीड जनरेटर का उपयोग करें और आउटपुट को एक फ़ाइल में सहेजें . उस फ़ाइल को RSS फ़ीड के रूप में उपयोग करें, फिर स्थिर फ़ाइल उत्पन्न करने के लिए क्रॉन/वेब हुक/क्यू/जो कुछ भी उपयोग करें। पीढ़ी स्क्रिप्ट कैशिंग करने की तुलना में यह आसान होगा, और कम संसाधनों का उपयोग करेगा।
//feedGen.php
//may require some output buffering if the feed generator outputs directly
$output = $myFeedGenerator->output();
file_put_contents('feed.rss', $output);
अब फ़ीड लिंक है /feed.rss
, और आप बस feedGen.php
run चलाते हैं जब भी इसे ताज़ा करने की आवश्यकता होती है। स्टैटिक फ़ाइल (php द्वारा पार्स भी नहीं) परोसने का मतलब आपके सर्वर के लिए कम है।